"Sigbjorne Finne (Intl Vendor)" wrote:

> Hi,
>
> if you compile the contents of lib/ with FOR_HUGS
> set to YES, you shouldn't run into either of these, e.g.,
>
>   sof$ make FOR_HUGS=YES AddrBits.hs
>   ../src/ihc -fno-qualified-names  --hugs  -fno-imports\
>      -fint-is-int  -c AddrBits.idl -o   AddrBits.hs
>   sof$ grep HDirect AddrBits.hs
>   sof$
>
> That said, there are no Makefile rules for building
> the dynamic libraries containing the Hugs primitives
> other than in the Win32 case. If someone could
> contribute these, I'd be more than happy to
> integrate them ;)

For what it's worth, here are the patches that I applied to a recent
(couple of month old, out of CVS) version of H/Direct to get it to build
on linux.  I haven't tried these one the current release.

--Jeff
*** fptools.orig/hdirect/lib/Makefile   Fri Jul 23 03:55:05 1999
--- fptools/hdirect/lib/Makefile        Mon Aug  2 10:35:10 1999
***************
*** 5,10 ****
--- 5,11 ----
  
  # 
  FOR_HUGS = NO
+ dll = so
  
  all ::
  
***************
*** 68,75 ****
--- 69,81 ----
  HS_SRCS  += $(COMLIB_HS_SRCS)
  endif
  
+ ifeq "$(BUILD_COMLIBS)" "NO"
+ IDL_SRCS = $(filter-out AutoPrim.idl ComPrim.idl Connection.idl SafeArray.idl 
+TypeLib.idl WideString.idl, $(wildcard *.idl))
+ else
  IDL_SRCS = $(wildcard *.idl)
+ endif
  #IDL_SRCS = $(filter-out TypeLib.idl, $(wildcard *.idl))
+ IDL_DLLS = $(filter-out StdTypes.idl, $(IDL_SRCS))
  
  #
  # Only support building of server-modules under mingw32 at the moment,
***************
*** 125,131 ****
  
  INSTALL_DATAS = $(HS_IFACES) $(SRCS)
  
! OBJS += $(patsubst %.idl, %.o, $(IDL_SRCS))
  
  LIBCOM_OBJS += $(filter-out PointerSrc.o AddrBits.o, $(OBJS)) PointerSrcCom.o 
  LIBHD_OBJS   = HDirect.o PointerSrc.o PointerPrim.o Pointer.o
--- 131,137 ----
  
  INSTALL_DATAS = $(HS_IFACES) $(SRCS)
  
! OBJS += $(patsubst %.idl, %.o, $(IDL_DLLS))
  
  LIBCOM_OBJS += $(filter-out PointerSrc.o AddrBits.o, $(OBJS)) PointerSrcCom.o 
  LIBHD_OBJS   = HDirect.o PointerSrc.o PointerPrim.o Pointer.o
***************
*** 141,147 ****
  endif
  
  ifeq "$(FOR_HUGS)" "YES"
! all :: $(patsubst %.idl, %.hs, $(IDL_SRCS))
  
  all :: dlls
  
--- 147,153 ----
  endif
  
  ifeq "$(FOR_HUGS)" "YES"
! all :: $(patsubst %.idl, %.hhs, $(IDL_SRCS))
  
  all :: dlls
  
***************
*** 156,169 ****
  %.hi : %.lhs
        @:
  
  AddrBits.c : AddrBits.hs
  PointerPrim.c : PointerPrim.hs
  
! AddrBits.dll : AddrBits.dll_o
! AddrBits.dll : AddrBitsPrim.dll_o
  WideString.c : WideString.hs
  
! C_STUBS = $(patsubst %.idl, %.c, $(IDL_SRCS))
  
  HS_SRCS:=
  
--- 162,178 ----
  %.hi : %.lhs
        @:
  
+ %.hhs : %.hs
+       mv $< $@
+ 
  AddrBits.c : AddrBits.hs
  PointerPrim.c : PointerPrim.hs
  
! AddrBits.${dll} : AddrBits.dll_o
! AddrBits.${dll} : AddrBitsPrim.dll_o
  WideString.c : WideString.hs
  
! C_STUBS = $(patsubst %.idl, %.c, $(IDL_DLLS))
  
  HS_SRCS:=
  
***************
*** 175,187 ****
        @$(RM) $@
        $(CC) $(CC_OPTS) -DCOM -c $< -o $@
  
! AddrBits.dll    : AddrBits.dll_o AddrBitsPrim.dll_o
! AutoPrim.dll    : AutoPrimSrc.dll_o AutoPrim.dll_o PointerSrcCom.dll_o 
ComPrimSrc.dll_o
! ComPrim.dll     : ComPrim.dll_o ComPrimSrc.dll_o PointerSrcCom.dll_o
! PointerPrim.dll : PointerPrim.dll_o PointerSrcCom.dll_o
! SafeArray.dll   : SafeArray.dll_o
! StdTypes.dll    : StdTypes.dll_o
! WideString.dll  : WideString.dll_o WideStringSrc.dll_o
  
  .PRECIOUS: %.dll_o
  
--- 184,206 ----
        @$(RM) $@
        $(CC) $(CC_OPTS) -DCOM -c $< -o $@
  
! AddrBits.${dll}    : AddrBits.dll_o AddrBitsPrim.dll_o
! AutoPrim.${dll}    : AutoPrimSrc.dll_o AutoPrim.dll_o
! ifeq "$(BUILD_COMLIBS)" "NO"
! AutoPrim.${dll}    : PointerSrc.dll_o
! else
! AutoPrim.${dll}    : PointerSrcCom.dll_o ComPrimSrc.dll_o
! endif
! ComPrim.${dll}     : ComPrim.dll_o ComPrimSrc.dll_o PointerSrcCom.dll_o
! PointerPrim.${dll} : PointerPrim.dll_o
! ifeq "$(BUILD_COMLIBS)" "NO"
! PointerPrim.${dll} : PointerSrc.dll_o
! else
! PointerPrim.${dll} : PointerSrcCom.dll_o
! endif
! SafeArray.${dll}   : SafeArray.dll_o
! StdTypes.${dll}    : StdTypes.dll_o
! WideString.${dll}  : WideString.dll_o WideStringSrc.dll_o
  
  .PRECIOUS: %.dll_o
  
***************
*** 189,198 ****
        @echo EXPORTS     > $@
        @echo initModule >> $@
  
! %.dll : %.dll_o
        $(CCDLL) $(CCDLL_OPTS) -o $@ $^ $(CCDLL_LIBS)
  
! dlls :: $(patsubst %.idl, %.dll, $(IDL_SRCS))
  
  endif
  # End of Hugs specific bit
--- 208,217 ----
        @echo EXPORTS     > $@
        @echo initModule >> $@
  
! %.${dll} : %.dll_o
        $(CCDLL) $(CCDLL_OPTS) -o $@ $^ $(CCDLL_LIBS)
  
! dlls :: $(patsubst %.idl, %.${dll}, $(IDL_DLLS))
  
  endif
  # End of Hugs specific bit

Reply via email to