$NetBSD: patch-aa,v 1.7 2012/01/02 23:42:28 dholland Exp $

- configure for pkgsrc
- libtoolize

--- makefile.orig	2009-08-14 12:53:13.000000000 +0000
+++ makefile
@@ -7,7 +7,7 @@
 ###############################################################
 
 
-CC=gcc
+#CC=gcc
 # A C or C++ compiler, e. g., gcc, cc, xlc.
 # There are a few components written in C which may be compiled
 # under C++, but C compilers tend to generate slightly better code.
@@ -15,11 +15,11 @@ CC=gcc
 # compatible code.
 
 
-CXX=g++
+#CXX=g++
 # A C++ compiler, e.g., g++, CC, xlC
 
 
-CFLAGS=-O2
+#CFLAGS=-O2
 # Flags for the C compiler
 # Some useful flags:
 #   -O2   --  recommended level of optimization
@@ -32,7 +32,7 @@ CFLAGS=-O2
 
 
 
-CXXFLAGS=$(CFLAGS)
+#CXXFLAGS=$(CFLAGS)
 # Flags for the C++ compiler (usually the same as CFLAGS)
 # Some useful flags:
 #   -+  -- needed with xlC to make it treat .c files as C++ files
@@ -41,16 +41,16 @@ CXXFLAGS=$(CFLAGS)
 # The defaults should almost always be OK.
 
 
-AR=ar
+#AR=ar
 # command to make a library
 
-ARFLAGS=ruv
+#ARFLAGS=ruv
 # arguments for AR
 
-RANLIB=ranlib
+#RANLIB=ranlib
 # set to echo if you want to disable it completely
 
-LDFLAGS=
+#LDFLAGS=
 # arguments for linker for C programs
 
 LDFLAGS_CXX=$(LDFLAGS)
@@ -62,15 +62,15 @@ LDLIBS=-lm
 LDLIBS_CXX=$(LDLIBS)
 # libraries for linking C++ programs
 
-CPPFLAGS=
+#CPPFLAGS=
 # arguments for the C preprocessor
 
-LIBTOOL=libtool
+#LIBTOOL=libtool
 # libtool command
 
-DEF_PREFIX=/usr/local
+DEF_PREFIX=/nonexistent
 
-PREFIX=$(DEF_PREFIX)
+#PREFIX=$(DEF_PREFIX)
 LIBDIR=$(PREFIX)/lib
 INCLUDEDIR=$(PREFIX)/include
 DOCDIR=$(PREFIX)/share/doc
@@ -92,17 +92,17 @@ DOCDIR=$(PREFIX)/share/doc
 ###############################################################
 
 
-GMP_PREFIX=$(DEF_PREFIX)
+GMP_PREFIX=${BUILDLINK_PREFIX.gmp}
 
-GMP_INCDIR=$(GMP_PREFIX)/include
+GMP_INCDIR= ${GMP_PREFIX}/include
 # directory containing gmp.h if using GMP 
 
-GMP_LIBDIR=$(GMP_PREFIX)/lib
+GMP_LIBDIR= ${GMP_PREFIX}/lib
 # directory containing libgmp.a if using GMP 
 
-GMP_OPT_INCDIR=# -I$(GMP_INCDIR) # GMP
-GMP_OPT_LIBDIR=# -L$(GMP_LIBDIR) # GMP
-GMP_OPT_LIB=# -lgmp # GMP
+GMP_OPT_INCDIR= -I$(GMP_INCDIR) # GMP
+GMP_OPT_LIBDIR= -Wl,-R$(GMP_LIBDIR) -L$(GMP_LIBDIR) # GMP
+GMP_OPT_LIB= -lgmp # GMP
 # uncomment these if using GMP
 
 
@@ -116,7 +116,7 @@ GMP_OPT_LIB=# -lgmp # GMP
 #
 ###############################################################
 
-GF2X_PREFIX=$(DEF_PREFIX)
+GF2X_PREFIX=/nonexistent
 
 GF2X_INCDIR=$(GF2X_PREFIX)/include
 # directory containing gf2x.h if using gf2x
@@ -125,7 +125,7 @@ GF2X_LIBDIR=$(GF2X_PREFIX)/lib
 # directory containing libgf2x.a
 
 GF2X_OPT_INCDIR=# -I$(GF2X_INCDIR) # GF2X
-GF2X_OPT_LIBDIR=# -L$(GF2X_LIBDIR) # GF2X
+GF2X_OPT_LIBDIR=# -Wl,-R$(GF2X_LIBDIR) -L$(GF2X_LIBDIR) # GF2X
 GF2X_OPT_LIB=# -lgf2x # GF2X
 # uncomment these if using gf2x
 
@@ -179,7 +179,7 @@ OBJ=$(O19)
 S01=FFT.c FacVec.c GF2.c GF2E.c GF2EX.c GF2EXFactoring.c GF2X.c GF2X1.c
 S02=$(S01) GF2XFactoring.c GF2XVec.c HNF.c ctools.c LLL.c LLL_FP.c LLL_QP.c
 S03=$(S02) LLL_RR.c LLL_XD.c RR.c WordVector.c ZZ.c ZZVec.c ZZX.c ZZX1.c
-S04=$(S03) ZZXCharPoly.c ZZXFactoring.c ZZ_p.c ZZ_pE.c ZZ_pEX.c 
+S04=$(S03) ZZXCharPoly.c ZZXFactoring.c ZZ_p.c ZZ_pE.c ZZ_pEX.c
 S05=$(S04) ZZ_pEXFactoring.c ZZ_pX.c ZZ_pX1.c ZZ_pXCharPoly.c
 S06=$(S05) ZZ_pXFactoring.c fileio.c lip.c lzz_p.c lzz_pE.c lzz_pEX.c
 S07=$(S06) lzz_pEXFactoring.c lzz_pX.c lzz_pX1.c
@@ -194,8 +194,8 @@ S15=$(S14) vec_long.c vec_lzz_p.c vec_lz
 S16=$(S15) vec_vec_GF2.c vec_vec_GF2E.c vec_vec_RR.c vec_vec_ZZ.c
 S17=$(S16) vec_vec_ZZ_p.c vec_vec_ZZ_pE.c vec_vec_long.c vec_vec_lzz_p.c
 S18=$(S17) vec_vec_lzz_pE.c vec_xdouble.c xdouble.c
-S19=$(S18) G_LLL_FP.c G_LLL_QP.c G_LLL_XD.c G_LLL_RR.c 
-S20=$(S19) vec_ulong.c vec_vec_ulong.c 
+S19=$(S18) G_LLL_FP.c G_LLL_QP.c G_LLL_XD.c G_LLL_RR.c
+S20=$(S19) vec_ulong.c vec_vec_ulong.c
 
 SRC = $(S20)
 
@@ -234,9 +234,9 @@ INCL=$(IN18)
 
 # test data
 
-TD1=BerlekampTestIn BerlekampTestOut CanZassTestIn CanZassTestOut 
-TD2=$(TD1) ZZXFacTestIn ZZXFacTestOut MoreFacTestIn LLLTestIn LLLTestOut RRTestIn RRTestOut 
-TD3=$(TD2) MatrixTestIn MatrixTestOut CharPolyTestIn  
+TD1=BerlekampTestIn BerlekampTestOut CanZassTestIn CanZassTestOut
+TD2=$(TD1) ZZXFacTestIn ZZXFacTestOut MoreFacTestIn LLLTestIn LLLTestOut RRTestIn RRTestOut
+TD3=$(TD2) MatrixTestIn MatrixTestOut CharPolyTestIn
 TD4=$(TD3) CharPolyTestOut QuadTestIn QuadTestOut
 
 TD = $(TD4)
@@ -314,11 +314,11 @@ SFILES=$(SFI3)
 NTL_INCLUDE = -I../include -I.
 # NTL needs this to find its include files
 
-COMPILE = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) -c
-COMPILE_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) -c
+COMPILE = $(LIBTOOL) --mode=compile $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) -c
+COMPILE_CXX = $(LIBTOOL) --mode=compile $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) -c
 
-LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
-LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
+LINK = $(LIBTOOL) --mode=link $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_CXX = $(LIBTOOL) --mode=link $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
 
 
 
@@ -332,7 +332,7 @@ all:
 	make setup2
 	make setup3
 	make setup4
-	make ntl.a
+	make libntl.a
 	touch all
 
 
@@ -340,7 +340,7 @@ all:
 
 setup1:
 	$(COMPILE) MakeDescAux.c
-	$(LINK) -o MakeDesc MakeDesc.c MakeDescAux.o $(LDLIBS)
+	$(LINK) -o MakeDesc MakeDesc.c MakeDescAux.lo $(LDLIBS)
 	./MakeDesc
 	mv mach_desc.h ../include/NTL/mach_desc.h
 
@@ -367,10 +367,16 @@ setup4:
 	sh Wizard $(WIZARD)
 
 
-ntl.a:	$(OBJ) 
-	$(AR) $(ARFLAGS) ntl.a $(OBJ) #LSTAT
-	- $(RANLIB) ntl.a #LSTAT
-# 	$(LIBTOOL) --mode=link $(LINK_CXX) -o libntl.la $(OBJ:.o=.lo) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) -rpath $(LIBDIR) -version-info `cat VERSION_INFO` #LSHAR
+libntl.a:	$(OBJ) 
+	$(LIBTOOL) --mode=link $(CXX) -o libntl.la $(OBJ:.o=.lo) \
+		$(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) \
+		$(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) \
+		$(LDLIBS_CXX) \
+		-rpath $(LIBDIR) \
+		-version-info `cat VERSION_INFO`
+#	$(AR) $(ARFLAGS) ntl.a $(OBJ) #LSTAT
+#	- $(RANLIB) ntl.a #LSTAT
+## 	$(LIBTOOL) --mode=link $(LINK_CXX) -o libntl.la $(OBJ:.o=.lo) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) -rpath $(LIBDIR) -version-info `cat VERSION_INFO` #LSHAR
 
 LCOMP= #LSTAT
 # LCOMP=$(LIBTOOL) --mode=compile #LSHAR
@@ -391,7 +397,7 @@ GetTime.o: GetTime.c 
 	$(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $<
 
 .c: 
-	$(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
+	$(LINK_CXX) -o $@ $< libntl.la $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
 # 	$(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR
 
 #################################################################
@@ -425,23 +431,29 @@ check:
 
 
 install:
-	mkdir -p -m 755 $(INCLUDEDIR)
-	rm -rf $(INCLUDEDIR)/NTL
-	mkdir -m 755 $(INCLUDEDIR)/NTL
-	cp -p ../include/NTL/*.h $(INCLUDEDIR)/NTL
-	- chmod -R a+r $(INCLUDEDIR)/NTL
-	mkdir -p -m 755 $(DOCDIR)
-	rm -rf $(DOCDIR)/NTL
-	mkdir -m 755 $(DOCDIR)/NTL
-	cp -p ../doc/*.txt $(DOCDIR)/NTL
-	cp -p ../doc/*.html $(DOCDIR)/NTL
-	cp -p ../doc/*.gif $(DOCDIR)/NTL
-	- chmod -R a+r $(DOCDIR)/NTL
-	mkdir -p -m 755 $(LIBDIR)
-	cp -p ntl.a $(LIBDIR)/libntl.a #LSTAT
-	- chmod a+r $(LIBDIR)/libntl.a #LSTAT
-# 	$(LIBTOOL) --mode=install cp -p libntl.la $(LIBDIR) #LSHAR
-
+#	mkdir -p -m 755 $(INCLUDEDIR)
+#	rm -rf $(INCLUDEDIR)/NTL
+#	mkdir -m 755 $(INCLUDEDIR)/NTL
+#	cp -p ../include/NTL/*.h $(INCLUDEDIR)/NTL
+#	- chmod -R a+r $(INCLUDEDIR)/NTL
+#	mkdir -p -m 755 $(DOCDIR)
+#	rm -rf $(DOCDIR)/NTL
+#	mkdir -m 755 $(DOCDIR)/NTL
+#	cp -p ../doc/*.txt $(DOCDIR)/NTL
+#	cp -p ../doc/*.html $(DOCDIR)/NTL
+#	cp -p ../doc/*.gif $(DOCDIR)/NTL
+#	- chmod -R a+r $(DOCDIR)/NTL
+#	mkdir -p -m 755 $(LIBDIR)
+#	cp -p ntl.a $(LIBDIR)/libntl.a #LSTAT
+#	- chmod a+r $(LIBDIR)/libntl.a #LSTAT
+## 	$(LIBTOOL) --mode=install cp -p libntl.la $(LIBDIR) #LSHAR
+	$(BSD_INSTALL_DATA_DIR) ${DESTDIR}$(INCLUDEDIR)/NTL
+	$(BSD_INSTALL_DATA) ../include/NTL/*.h ${DESTDIR}$(INCLUDEDIR)/NTL
+	$(BSD_INSTALL_DATA_DIR) ${DESTDIR}$(DOCDIR)/NTL
+	$(BSD_INSTALL_DATA) ../doc/*.txt ${DESTDIR}$(DOCDIR)/NTL
+	$(BSD_INSTALL_DATA) ../doc/*.html ${DESTDIR}$(DOCDIR)/NTL
+	$(BSD_INSTALL_DATA) ../doc/*.gif ${DESTDIR}$(DOCDIR)/NTL
+	$(LIBTOOL) --mode=install $(BSD_INSTALL_LIB) libntl.la ${DESTDIR}$(LIBDIR)
 
 uninstall:
 	rm -f $(LIBDIR)/libntl.a #LSTAT
@@ -461,7 +473,7 @@ uninstall:
 #################################################################
 
 clobber:	
-	rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h  GetTime.c 
+	rm -f mach_desc.h ../include/NTL/mach_desc.h  GetTime.c 
 	rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h
 	sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
 	rm -f *.o
@@ -472,7 +484,7 @@ clobber:	
 
 clean:
 	sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
-	rm -f *.o 
+	rm -f *.o *.lo
 	rm -rf small
 # 	- $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
 
@@ -522,22 +534,25 @@ WO3 = $(WO2) GF2.o WordVector.o vec_GF2.
 WOBJ = $(WO3)
 
 # wntl.a: LCOMP= #LSHAR
-wntl.a:	$(WOBJ) 
-	$(AR) $(ARFLAGS) wntl.a $(WOBJ)
-	- $(RANLIB) wntl.a
+libwntl.la:	$(WOBJ) 
+#	$(AR) $(ARFLAGS) wntl.a $(WOBJ)
+#	- $(RANLIB) wntl.a
+	$(LIBTOOL) --mode=link $(CC) -o libwntl.la $(WOBJ:.o=.lo) \
+		-rpath $(LIBDIR) \
+		-version-info 0:0
 
 MulTimeTest:
-	$(LINK_CXX) -o MulTimeTest MulTimeTest.c wntl.a  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB)  $(LDLIBS_CXX)
+	$(LINK_CXX) -o MulTimeTest MulTimeTest.c libwntl.la  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB)  $(LDLIBS_CXX)
 
 PolyTimeTest:
-	$(LINK_CXX) -o PolyTimeTest PolyTimeTest.c wntl.a  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
+	$(LINK_CXX) -o PolyTimeTest PolyTimeTest.c libwntl.la  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
 
 Poly1TimeTest:
-	$(LINK_CXX) -o Poly1TimeTest Poly1TimeTest.c wntl.a  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
+	$(LINK_CXX) -o Poly1TimeTest Poly1TimeTest.c libwntl.la  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
 
 
 GF2XTimeTest:
-	$(LINK_CXX) -o GF2XTimeTest GF2XTimeTest.c wntl.a  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
+	$(LINK_CXX) -o GF2XTimeTest GF2XTimeTest.c libwntl.la  $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(LDLIBS_CXX)
 
 InitSettings:
 	$(LINK_CXX) -o InitSettings InitSettings.c  $(LDLIBS_CXX)
