From: <kr_...@us...> - 2004-01-04 13:15:13
|
Update of /cvsroot/htoolkit/HSQL In directory sc8-pr-cvs1:/tmp/cvs-serv27195 Modified Files: Makefile config.mk.in configure.ac hsql.pkg.in Log Message: Make the HSQL package compatible with Hugs Index: Makefile =================================================================== RCS file: /cvsroot/htoolkit/HSQL/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile 7 Sep 2003 22:56:18 -0000 1.5 --- Makefile 4 Jan 2004 13:14:53 -0000 1.6 *************** *** 13,18 **** --- 13,34 ---- endif + COMPILERS = + ifneq "$(GHC)" "" + COMPILERS += ghc + endif + ifneq "$(HUGS)" "" + COMPILERS += hugs + endif + OBJS = $(patsubst %.hs,%.o, $(HS_SRC)) HI_SRC = $(patsubst %.hs,%.hi,$(HS_SRC)) + SO_SRC = $(patsubst %.hs,%.$(SO_EXT),$(HS_SRC)) + + FFIHUGS_FLAGS = $(patsubst %, +L"%", $(CPPFLAGS)) + ifeq "$(WINODBC)" "YES" + FFIHUGS_FLAGS += $(patsubst %, +L"%", $(patsubst -l%, %.lib, $(LDFLAGS))) + else + FFIHUGS_FLAGS += $(patsubst %, +L"%", $(LDFLAGS)) + endif ifeq "$(HADDOCK)" "" *************** *** 29,36 **** %.hs : %.hsc $(HSC2HS) $< $(CPPFLAGS) %.raw-hs : %.hs $(GHC) -Iincludes $(CPPFLAGS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@ ! all: libHSsql.a libHSsql.a: $(OBJS) --- 45,58 ---- %.hs : %.hsc $(HSC2HS) $< $(CPPFLAGS) + %.$(SO_EXT): %.hs + $(FFIHUGS) -98 +G $(FFIHUGS_FLAGS) $< %.raw-hs : %.hs $(GHC) -Iincludes $(CPPFLAGS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@ ! ! all: $(patsubst %, all-%, $(COMPILERS)) ! all-ghc: libHSsql.a ! all-hugs: $(SO_SRC) ! libHSsql.a: $(OBJS) *************** *** 42,68 **** depend: $(HS_SRC) $(GHC) -M $^ ! clean: rm -f $(OBJS) rm -f $(HI_SRC) rm -f $(HS_PPS) ! docs : $(HS_PPS) mkdir -p doc $(HADDOCK) -h -o doc $(HS_PPS) ! install: libHSsql.a $(HI_SRC) docs ! $(INSTALL) libHSsql.a $(prefix)/libHSsql.a ! $(INSTALL) -d $(prefix)/imports/Database for i in $(HI_SRC); do \ ! $(INSTALL) -d $(prefix)/imports/Database/`dirname $$i`; \ ! $(INSTALL) -c $$i $(prefix)/imports/Database/`dirname $$i`; \ done ! rm -f $(prefix)/HSsql.o $(GHC_PKG) -u -g -i hsql.pkg if test -f doc/index.html; then \ ! $(INSTALL) -d $(prefix)/doc/html/hsql; \ ! $(INSTALL) -c doc/* $(prefix)/doc/html/hsql; \ fi ! ODBC/HSQL.hs : ODBC/HSQLStructs.h --- 64,113 ---- depend: $(HS_SRC) $(GHC) -M $^ ! ! genclean: distclean ! rm -rf configure autom4te.cache ! ! distclean: clean ! rm -f libHSsql.a ! rm -f config.status config.log config.mk hsql.pkg ! clean: rm -f $(OBJS) rm -f $(HI_SRC) + rm -f $(SO_SRC) + rm -f $(HS_SRC) + rm -f $(patsubst %.hs,%.c,$(HS_SRC)) rm -f $(HS_PPS) ! rm -rf $(patsubst %.o,%_split, $(OBJS)) ! ! docs : $(HS_PPS) mkdir -p doc $(HADDOCK) -h -o doc $(HS_PPS) ! ! install: $(patsubst %, install-%, $(COMPILERS)) ! ! install-ghc: libHSsql.a $(HI_SRC) docs ! $(INSTALL) libHSsql.a $(GHC_DIR)/libHSsql.a ! $(INSTALL) -d $(GHC_DIR)/imports/Database for i in $(HI_SRC); do \ ! $(INSTALL) -d $(GHC_DIR)/imports/Database/`dirname $$i`; \ ! $(INSTALL) -c $$i $(GHC_DIR)/imports/Database/`dirname $$i`; \ done ! rm -f $(GHC_DIR)/HSsql.o $(GHC_PKG) -u -g -i hsql.pkg if test -f doc/index.html; then \ ! $(INSTALL) -d $(GHC_DIR)/doc/html/hsql; \ ! $(INSTALL) -c doc/* $(GHC_DIR)/doc/html/hsql; \ fi ! install-hugs: $(HS_SRC) $(SO_SRC) ! $(INSTALL) -d $(HUGS_DIR)/libraries/Database ! for i in $(HS_SRC) $(SO_SRC); do \ ! $(INSTALL) -d $(HUGS_DIR)/libraries/Database/`dirname $$i`; \ ! $(INSTALL) -c $$i $(HUGS_DIR)/libraries/Database/`dirname $$i`; \ ! done ! ! ! ODBC/HSQL.hs : ODBC/HsODBC.h Index: config.mk.in =================================================================== RCS file: /cvsroot/htoolkit/HSQL/config.mk.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** config.mk.in 5 Sep 2003 11:37:55 -0000 1.1 --- config.mk.in 4 Jan 2004 13:14:54 -0000 1.2 *************** *** 3,14 **** WithMySQL=@WithMySQL@ ! GHC = @GHC@ ! HSC2HS = @HSC2HS@ AR = @AR@ LD = @LD@ INSTALL = @INSTALL@ ! GHC_PKG = @GHC_PKG@ ! prefix = @prefix@ ! exec_prefix = @exec_prefix@ CPPFLAGS = @CPPFLAGS@ HADDOCK = @HADDOCK@ --- 3,25 ---- WithMySQL=@WithMySQL@ ! SO_EXT = @SO_EXT@ ! ! WINODBC=@WINODBC@ ! AR = @AR@ LD = @LD@ INSTALL = @INSTALL@ ! CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + + HSC2HS = @HSC2HS@ HADDOCK = @HADDOCK@ + + GHC = @GHC@ + GHC_DIR = @GHC_DIR@ + GHC_PKG = @GHC_PKG@ + + HUGS = @HUGS@ + HUGS_DIR = @HUGS_DIR@ + FFIHUGS = @FFIHUGS@ Index: configure.ac =================================================================== RCS file: /cvsroot/htoolkit/HSQL/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** configure.ac 7 Sep 2003 09:09:47 -0000 1.5 --- configure.ac 4 Jan 2004 13:14:54 -0000 1.6 *************** *** 53,65 **** if test "$GHC" = "" || test ! -f $GHC; then ! AC_MSG_ERROR([GHC is required to build the package]) fi AC_SUBST(GHC) ! if test "$prefix" = "NONE"; then ! prefix=`$GHC --print-libdir` fi dnl *********************************************** dnl hsc2hs --- 53,81 ---- if test "$GHC" = "" || test ! -f $GHC; then ! AC_MSG_RESULT([The build for GHC will be skiped.]) ! GHC="" fi AC_SUBST(GHC) ! dnl *********************************************** ! dnl GHC directory ! dnl *********************************************** ! AC_ARG_WITH(ghc-dir, ! [ --with-ghc-dir=<ghc directory> ! Install GHC libraries in the given GHC directory (default is "ghc --print-libdir") ! ], ! [GHC_DIR="$withval"], ! [GHC_DIR=`$GHC --print-libdir`] ! ) ! ! if test "$GHC" != ""; then ! if test "$GHC_DIR" = "" || test ! -d $GHC_DIR; then ! AC_MSG_ERROR([GHC_DIR $GHC_DIR does not exist]) ! fi fi + AC_SUBST(GHC_DIR) + dnl *********************************************** dnl hsc2hs *************** *** 97,100 **** --- 113,179 ---- dnl *********************************************** + dnl HUGS + dnl *********************************************** + AC_ARG_WITH(hugs, + [ --with-hugs=<hugs command> + Use a different command instead of 'hugs' for the Hugs interpreter. + ], + [HUGS="$withval"], + [AC_PATH_PROG(HUGS,hugs)] + ) + + if test "$HUGS" = "" || test ! -f $HUGS; then + AC_MSG_RESULT([The build for HUGS will be skiped.]) + HUGS="" + fi + + case $ac_cv_target_alias in + i[[3456]]86-*-cygwin*|i[[3456]]86-*-mingw32*) + SO_EXT=dll;; + *) SO_EXT=so;; + esac + + AC_SUBST(HUGS) + AC_SUBST(SO_EXT) + + dnl *********************************************** + dnl Hugs directory + dnl *********************************************** + AC_ARG_WITH(hugs-dir, + [ --with-hugs-dir=<hugs directory> + Install Hugs libraries in the given Hugs directory (default is the path to hugs) + ], + [HUGS_DIR="$withval"], + [HUGS_DIR=$(dirname $HUGS)] + ) + + if test "$HUGS" != ""; then + if test "$HUGS_DIR" = "" || test ! -d $HUGS_DIR; then + AC_MSG_ERROR([HUGS_DIR $HUGS_DIR does not exist]) + fi + fi + + AC_SUBST(HUGS_DIR) + + dnl *********************************************** + dnl FFIHUGS + dnl *********************************************** + AC_ARG_WITH(ffihugs, + [ --with-ffihugs=<ffihugs command> + Use a different command instead of 'ffihugs' for the Hugs FFI compiler. + ], + [FFIHUGS="$withval"], + [AC_PATH_PROG(FFIHUGS,ffihugs)] + ) + + if test "$HUGS" != ""; then + if test "$FFIHUGS" = "" || test ! -f $FFIHUGS; then + AC_MSG_ERROR([ffihugs is required to build the Hugs libraries]) + fi + fi + + AC_SUBST(FFIHUGS) + + dnl *********************************************** dnl HADDOCK dnl *********************************************** *************** *** 108,112 **** if test "$HADDOCK" = "" || test ! -f $HADDOCK; then ! echo HADDOCK is required to build the documentations fi --- 187,191 ---- if test "$HADDOCK" = "" || test ! -f $HADDOCK; then ! AC_MSG_RESULT([HADDOCK is required to build the documentations]) fi *************** *** 131,134 **** --- 210,215 ---- dnl *********************************************** + WINODBC=NO + if test $WithODBC = YES; then case $ac_cv_target_alias in *************** *** 145,150 **** } ], ! [LIBS="${LIBS} -lodbc32"], AC_MSG_ERROR([sqlext.h and libodbc required to build ODBC building.])) ;; *) AC_CHECK_HEADER(sqlext.h,,AC_MSG_ERROR([sqlext.h and libodbc required to build ODBC building.])) --- 226,233 ---- } ], ! [LDFLAGS="${LDFLAGS} -lodbc32"], AC_MSG_ERROR([sqlext.h and libodbc required to build ODBC building.])) + CPPFLAGS="$CPPFLAGS -DWINODBC" + WINODBC=YES ;; *) AC_CHECK_HEADER(sqlext.h,,AC_MSG_ERROR([sqlext.h and libodbc required to build ODBC building.])) *************** *** 156,159 **** --- 239,244 ---- fi + AC_SUBST(WINODBC) + dnl *********************************************** dnl check for headers and libraries for PostgreSQL *************** *** 206,218 **** dnl *********************************************** ! LL="$LIBS $LDFLAGS" ! ! if test "x$prefix" != xNONE; then ! LIB_DIRS='"'${prefix}'"' ! else ! LIB_DIRS='"'${ac_default_prefix}'"' ! fi ! for lib_opt in ${LL} do case $lib_opt in --- 291,297 ---- dnl *********************************************** ! LIB_DIRS='"'${GHC_DIR}'"' ! for lib_opt in ${LDFLAGS} do case $lib_opt in *************** *** 229,237 **** AC_SUBST(CPPFLAGS) AC_SUBST(DEP_LIBS) AC_SUBST(LIB_DIRS) - AC_SUBST(prefix) - AC_SUBST(exec_prefix) - AC_SUBST(libdir) AC_OUTPUT --- 308,314 ---- AC_SUBST(CPPFLAGS) + AC_SUBST(LDFLAGS) AC_SUBST(DEP_LIBS) AC_SUBST(LIB_DIRS) AC_OUTPUT Index: hsql.pkg.in =================================================================== RCS file: /cvsroot/htoolkit/HSQL/hsql.pkg.in,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** hsql.pkg.in 5 Sep 2003 21:44:10 -0000 1.2 --- hsql.pkg.in 4 Jan 2004 13:14:55 -0000 1.3 *************** *** 2,6 **** {name = "hsql", auto=True, ! import_dirs = ["@prefix@/imports"], source_dirs = [], library_dirs = [@LIB_DIRS@], --- 2,6 ---- {name = "hsql", auto=True, ! import_dirs = ["@GHC_DIR@/imports"], source_dirs = [], library_dirs = [@LIB_DIRS@], |