diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2012-09-02 13:07:14 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2012-09-02 13:07:14 +0200 |
commit | 13da385aa7f5e9a9f52288fd7735d6dc806fab73 (patch) | |
tree | 15095ef90056092c59042da092a7ff330920223e | |
parent | da6dc57663d8934f84d6328c9d5d15b06962991e (diff) | |
download | crawler-13da385aa7f5e9a9f52288fd7735d6dc806fab73.tar.gz crawler-13da385aa7f5e9a9f52288fd7735d6dc806fab73.tar.bz2 |
prefer dynamic to static linking (linking a non-PIC .a library
into a module is illegal, but on Linux!)
27 files changed, 76 insertions, 47 deletions
@@ -6,6 +6,9 @@ *.obj *.dllobj *.sho++ +*.so +*.so.* +*.sho *.db *.a *.lib diff --git a/libfetch/GNUmakefile b/libfetch/GNUmakefile index 181270d..5c2f6c1 100644 --- a/libfetch/GNUmakefile +++ b/libfetch/GNUmakefile @@ -32,8 +32,10 @@ OBJS = \ ftp.o \ http.o -STATIC_LIB = \ - libfetch.a +DYNAMIC_LIB = libfetch.so +DYNAMIC_LIB_MAJOR = 0 +DYNAMIC_LIB_MINOR = 0 +DYNAMIC_LIB_PATCH = 0 -include $(TOPDIR)/makefiles/gmake/sub.mk diff --git a/src/GNUmakefile b/src/GNUmakefile index 119ec2b..592a6a0 100755 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -23,7 +23,12 @@ INCLUDE_LIBS += \ $(OPENSSL_LIBS) endif -LOCAL_STATIC_LIB_OBJS = \ +DYNAMIC_LIB = libcrawler.so +DYNAMIC_LIB_MAJOR = 0 +DYNAMIC_LIB_MINOR = 0 +DYNAMIC_LIB_PATCH = 0 + +CPP_OBJS = \ Logger.o \ ConsoleLogSink.o \ FileLogSink.o \ @@ -31,23 +36,14 @@ LOCAL_STATIC_LIB_OBJS = \ MIMEType.o \ SpoolRewindInputStream.o -CPP_OBJS = \ - $(LOCAL_STATIC_LIB_OBJS) - -LOCAL_STATIC_LIB = \ - libcrawler.a - CPP_BINS = \ crawl$(EXE) -include $(TOPDIR)/makefiles/gmake/sub.mk -local_all: $(LOCAL_STATIC_LIB) - -$(LOCAL_STATIC_LIB): $(LOCAL_STATIC_LIB_OBJS) - ar rcs $(LOCAL_STATIC_LIB) $(LOCAL_STATIC_LIB_OBJS) +local_all: -modules: $(LOCAL_STATIC_LIB) +modules: $(DYNAMIC_LIB) local_clean: @-rm -f $(LOCAL_STATIC_LIB) @@ -63,3 +59,6 @@ local_uninstall: @-rmdir $(DESTDIR)$(bindir) local_test: + +run: + LD_LIBRARY_PATH=$(TOPDIR)/src:$(TOPDIR)/googleurl:$(TOPDIR)/libfetch:$(TOPDIR)/streamhtmlparser ./crawl diff --git a/src/modules/deduper/null/GNUmakefile b/src/modules/deduper/null/GNUmakefile index b7c1686..7bbfd49 100644 --- a/src/modules/deduper/null/GNUmakefile +++ b/src/modules/deduper/null/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_deduper_null.so diff --git a/src/modules/fetcher/file/GNUmakefile b/src/modules/fetcher/file/GNUmakefile index 5432203..1714b3a 100644 --- a/src/modules/fetcher/file/GNUmakefile +++ b/src/modules/fetcher/file/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_fetcher_file.so diff --git a/src/modules/fetcher/libfetch/GNUmakefile b/src/modules/fetcher/libfetch/GNUmakefile index 84635ee..7c77a29 100644 --- a/src/modules/fetcher/libfetch/GNUmakefile +++ b/src/modules/fetcher/libfetch/GNUmakefile @@ -11,10 +11,12 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src \ + -L$(TOPDIR)/libfetch INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a \ - $(TOPDIR)/libfetch/libfetch.a + -lcrawler \ + -lfetch DYNAMIC_MODULE = \ mod_fetcher_libfetch.so diff --git a/src/modules/frontier/memory/GNUmakefile b/src/modules/frontier/memory/GNUmakefile index effa93d..368b37e 100644 --- a/src/modules/frontier/memory/GNUmakefile +++ b/src/modules/frontier/memory/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_frontier_memory.so diff --git a/src/modules/processor/htmllinkextract/GNUmakefile b/src/modules/processor/htmllinkextract/GNUmakefile index 87ef459..a9919d0 100644 --- a/src/modules/processor/htmllinkextract/GNUmakefile +++ b/src/modules/processor/htmllinkextract/GNUmakefile @@ -11,10 +11,12 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src \ + -L$(TOPDIR)/streamhtmlparser INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a \ - $(TOPDIR)/streamhtmlparser/libstreamhtmlparser.a + -lcrawler \ + -lstreamhtmlparser DYNAMIC_MODULE = \ mod_processor_htmllinkextract.so diff --git a/src/modules/typedetect/libmagic/GNUmakefile b/src/modules/typedetect/libmagic/GNUmakefile index 7ac0357..2bd823f 100644 --- a/src/modules/typedetect/libmagic/GNUmakefile +++ b/src/modules/typedetect/libmagic/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a \ + -lcrawler \ -lmagic DYNAMIC_MODULE = \ diff --git a/src/modules/urlfilter/chain/GNUmakefile b/src/modules/urlfilter/chain/GNUmakefile index 2ed1c27..50ce867 100644 --- a/src/modules/urlfilter/chain/GNUmakefile +++ b/src/modules/urlfilter/chain/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_urlfilter_chain.so diff --git a/src/modules/urlfilter/host/GNUmakefile b/src/modules/urlfilter/host/GNUmakefile index 8477730..f307eb8 100644 --- a/src/modules/urlfilter/host/GNUmakefile +++ b/src/modules/urlfilter/host/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_urlfilter_host.so diff --git a/src/modules/urlfilter/protocol/GNUmakefile b/src/modules/urlfilter/protocol/GNUmakefile index 897a71b..a4b976c 100644 --- a/src/modules/urlfilter/protocol/GNUmakefile +++ b/src/modules/urlfilter/protocol/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_urlfilter_protocol.so diff --git a/src/modules/urlnormalizer/googleurl/GNUmakefile b/src/modules/urlnormalizer/googleurl/GNUmakefile index 14cd2c1..9bafab5 100644 --- a/src/modules/urlnormalizer/googleurl/GNUmakefile +++ b/src/modules/urlnormalizer/googleurl/GNUmakefile @@ -11,10 +11,12 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/googleurl \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/googleurl/libgoogleurl.a \ - $(TOPDIR)/src/libcrawler.a \ + -lgoogleurl \ + -lcrawler \ -licui18n -licuuc DYNAMIC_MODULE = \ diff --git a/src/modules/urlnormalizer/simpleurl/GNUmakefile b/src/modules/urlnormalizer/simpleurl/GNUmakefile index c388c43..71d516e 100644 --- a/src/modules/urlnormalizer/simpleurl/GNUmakefile +++ b/src/modules/urlnormalizer/simpleurl/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_urlnormalizer_simple.so diff --git a/src/modules/urlseen/memory/GNUmakefile b/src/modules/urlseen/memory/GNUmakefile index 440b498..db5e428 100644 --- a/src/modules/urlseen/memory/GNUmakefile +++ b/src/modules/urlseen/memory/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_urlseen_memory.so diff --git a/streamhtmlparser/GNUmakefile b/streamhtmlparser/GNUmakefile index ea5380d..46f93f0 100644 --- a/streamhtmlparser/GNUmakefile +++ b/streamhtmlparser/GNUmakefile @@ -18,8 +18,10 @@ OBJS = \ jsparser.o \ htmlparser.o -STATIC_LIB = \ - libstreamhtmlparser.a +DYNAMIC_LIB = libstreamhtmlparser.so +DYNAMIC_LIB_MAJOR = 0 +DYNAMIC_LIB_MINOR = 0 +DYNAMIC_LIB_PATCH = 0 -include $(TOPDIR)/makefiles/gmake/sub.mk diff --git a/tests/curl/GNUmakefile b/tests/curl/GNUmakefile index 7afb9ad..de0462a 100644 --- a/tests/curl/GNUmakefile +++ b/tests/curl/GNUmakefile @@ -19,7 +19,6 @@ OBJS = local_all: local_clean: - -@rm -f *.db *.db-journal 2>/dev/null -@rm -f *.RES *.DIFF local_distclean: diff --git a/tests/libfetch/GNUmakefile b/tests/libfetch/GNUmakefile index 6f6099f..4452964 100644 --- a/tests/libfetch/GNUmakefile +++ b/tests/libfetch/GNUmakefile @@ -5,10 +5,11 @@ SUBDIRS = INCLUDE_DIRS = \ -I$(TOPDIR)/libfetch -INCLUDE_LDFLAGS = +INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/libfetch INCLUDE_LIBS = \ - $(TOPDIR)/libfetch/libfetch.a + -lfetch # openssl ifeq ($(WITH_SSL),1) diff --git a/tests/logger/GNUmakefile b/tests/logger/GNUmakefile index b0e2db0..ebd447d 100755 --- a/tests/logger/GNUmakefile +++ b/tests/logger/GNUmakefile @@ -5,10 +5,11 @@ SUBDIRS = INCLUDE_DIRS = \ -I. -I$(TOPDIR)/src -INCLUDE_LDFLAGS = +INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler TEST_CPP_BINS = \ test1$(EXE) diff --git a/tests/logger/exec_test b/tests/logger/exec_test index d2d606f..a2a6609 100755 --- a/tests/logger/exec_test +++ b/tests/logger/exec_test @@ -4,5 +4,5 @@ BINARY=$1 TITLE=$2 printf "$BINARY: $TITLE .. " -./$BINARY >$BINARY.RES 2>&1 +LD_LIBRARY_PATH=../../src ./$BINARY >$BINARY.RES 2>&1 diff $BINARY.MUST $BINARY.RES > $BINARY.DIFF && printf "OK\n" || printf "ERROR\n" diff --git a/tests/modules/exec_test b/tests/modules/exec_test index d2d606f..a2a6609 100755 --- a/tests/modules/exec_test +++ b/tests/modules/exec_test @@ -4,5 +4,5 @@ BINARY=$1 TITLE=$2 printf "$BINARY: $TITLE .. " -./$BINARY >$BINARY.RES 2>&1 +LD_LIBRARY_PATH=../../src ./$BINARY >$BINARY.RES 2>&1 diff $BINARY.MUST $BINARY.RES > $BINARY.DIFF && printf "OK\n" || printf "ERROR\n" diff --git a/tests/modules/testmod/GNUmakefile b/tests/modules/testmod/GNUmakefile index 233f65e..01dbfee 100755 --- a/tests/modules/testmod/GNUmakefile +++ b/tests/modules/testmod/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_test.so diff --git a/tests/modules/testmod2/GNUmakefile b/tests/modules/testmod2/GNUmakefile index 3011479..90f1f05 100755 --- a/tests/modules/testmod2/GNUmakefile +++ b/tests/modules/testmod2/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_test2.so diff --git a/tests/modules/testmod3/GNUmakefile b/tests/modules/testmod3/GNUmakefile index 4d296de..01ae8eb 100755 --- a/tests/modules/testmod3/GNUmakefile +++ b/tests/modules/testmod3/GNUmakefile @@ -10,9 +10,10 @@ INCLUDE_DIRS = \ INCLUDE_CXXFLAGS = \ INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a + -lcrawler DYNAMIC_MODULE = \ mod_test3.so diff --git a/tests/streamhtmlparser/GNUmakefile b/tests/streamhtmlparser/GNUmakefile index ad99173..23ad8b7 100644 --- a/tests/streamhtmlparser/GNUmakefile +++ b/tests/streamhtmlparser/GNUmakefile @@ -5,10 +5,11 @@ SUBDIRS = INCLUDE_DIRS = \ -I$(TOPDIR)/streamhtmlparser -INCLUDE_LDFLAGS = +INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/streamhtmlparser INCLUDE_LIBS = \ - $(TOPDIR)/streamhtmlparser/libstreamhtmlparser.a + -lstreamhtmlparser TEST_CPP_BINS = \ test1$(EXE) \ diff --git a/tests/url/GNUmakefile b/tests/url/GNUmakefile index 38de19c..47812da 100644 --- a/tests/url/GNUmakefile +++ b/tests/url/GNUmakefile @@ -10,13 +10,16 @@ INCLUDE_DIRS = \ -I$(TOPDIR)/src/modules/urlnormalizer/simpleurl \ -I$(TOPDIR)/src/modules/urlnormalizer/googleurl -INCLUDE_LDFLAGS = +INCLUDE_LDFLAGS = \ + -L$(TOPDIR)/src \ + -L$(TOPDIR)/googleurl INCLUDE_LIBS = \ - $(TOPDIR)/src/libcrawler.a \ + -lcurl \ $(TOPDIR)/src/modules/urlnormalizer/simpleurl/libsimpleurlnormalizer.a \ $(TOPDIR)/src/modules/urlnormalizer/googleurl/libgoogleurlnormalizer.a \ - $(TOPDIR)/googleurl/libgoogleurl.a \ + -lgoogleurl \ + -lcrawler \ -licui18n -licuuc TEST_CPP_BINS = \ diff --git a/tests/url/exec_test b/tests/url/exec_test index 92b656f..2343af8 100755 --- a/tests/url/exec_test +++ b/tests/url/exec_test @@ -8,5 +8,5 @@ TITLE=$1 shift printf "$ID: $TITLE .. " -./$BINARY $* >$ID.RES 2>&1 +LD_LIBRARY_PATH=../../src:../../googleurl ./$BINARY $* >$ID.RES 2>&1 diff $ID.MUST $ID.RES > $ID.DIFF && printf "OK\n" || printf "ERROR\n" |