|
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@],
|