"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