########################################################################################################################### # # File: Jamroot # Author: Anant Rao (2009) # # Text-mining code is built with Boost.build and bjam on both Linux as well as Windows. # # Setup Instructions: # - On Windows, you need to copy user-config.jam from CVS/textmining/misc/bjam_win to c:\program files and settings\ # - On Linux, you need to copy user-config.jam from CVS/textmining/misc/bjam_linux to /home/ # # On a new machine, bjam Linux pkg needs to be installed. # boost1.40 needs to be installed in stratify's ThirdParty dir. # Jamroot file is at top-level src dir so that all the defines and common stuff could be placed at this level. # Jamroot is reserved word in boost.build. # Individual sub-proj's have Jamfile's. # To build, run: # bjam from any sub-dir in the tree (where a Jamfile exists) # # On Windows, the env vars are read from C:\Documents and Settings\arao\user-config.jam # Build Instructions: # bjam release (on Linux) # bjam release link=static runtime-link=static (On Windows; working on not having to provide the options) ########################################################################################################################### import os ; import common ; local USER = [ os.environ USER ] ; constant TCL_VER : 8.5.7 ; local HOME_ROOT = [ os.environ HOME_ROOT ] ; SRC_ROOT = $(HOME_ROOT)/src ; DOC_PROC_ROOT = $(SRC_ROOT)/docservices ; TEXT_MINING = $(DOC_PROC_ROOT)/documentprocessors ; NATIVE = $(DOC_PROC_ROOT)/common/src/native/inc/internal ; COMMON = $(SRC_ROOT)/common/native/os/inc ; SHARED = $(TEXT_MINING)/shared ; ZYOGI = $(SHARED)/ZYogi ; ZYOGI_INC1 = $(ZYOGI)/minizip/inc ; ZYOGI_INC2 = $(ZYOGI)/inc ; APACHE = $(TP)/apache/httpd-2.2.13 ; APACHE_INCLUDE = $(APACHE)/include ; APACHE_OS_INCLUDE = $(APACHE)/os/unix ; XERCES_INC = $(XERCES)/src $(XERCES)/include ; JNI = $(DOC_PROC_ROOT)/common/src/native/jnicommon/inc ; # ############################################################ # Src paths # ############################################################ constant INTERNAL_SRC : $(DOC_PROC_ROOT)/common/src/native/src/internal ; constant JNICOMMON_SRC : $(DOC_PROC_ROOT)/common/src/native/jnicommon/src ; constant DICTIONARY_SRC : $(SHARED)/dictionary/src ; constant NB_BUILDER_SRC : $(SHARED)/NBBuilder/src ; constant PROCESSORS_SRC : $(SHARED)/processors/src ; constant SAX_READER_SRC : $(SHARED)/xml/SAXReaderUtils/src ; constant SUMMARIZER_SRC : $(SHARED)/summarizer/src ; constant LANGID_SRC : $(SHARED)/processors/languageidentifier/src ; constant LANGMDL_SRC : $(SHARED)/processors/languageidentifier/model/src ; constant PARSER_SRC : $(SHARED)/processors/parser/src ; constant CLUSTER : $(SHARED)/Clustering ; constant CLUSTER_SRC : $(CLUSTER)/src ; constant HTTPCLIENT_SRC : $(SHARED)/httpclient/src ; constant HTTPCLIENT_WIN32_SRC : $(SHARED)/httpclient/win32/src ; constant CLUSTER_BIAS_SRC : $(CLUSTER)/Bias/src ; constant CLUSTER_CORP_SRC : $(CLUSTER)/corpora/src ; constant CLUSTER_INT_SRC : $(CLUSTER)/internal/src ; constant LOGGING_SRC : $(SRC_ROOT)/common/native/logging/impl/basic/src ; constant LOGGER_SRC : $(SHARED)/logger/src ; constant STEMMER_SRC : $(SHARED)/processors/stemmer/src ; constant APRWRAP_SRC : $(SRC_ROOT)/common/native/os/aprwrap/src ; constant CRYPT_SRC : $(SHARED)/cryptlib/src ; constant CONV_SRC : $(SRC_ROOT)/common/native/conv/src ; constant STRINGUTILS_SRC : $(SHARED)/stringutils/src ; constant UTILS_SRC : $(SHARED)/utils/src ; constant ZYOGI_SRC : $(ZYOGI)/src ; constant ZYOGI_MINIZIP_SRC : $(ZYOGI)/minizip/src ; constant STREAMS_SRC : $(SHARED)/streams/src ; constant MEMPOOLS_SRC : $(SHARED)/mempools/src ; constant CORE_SRC : $(SHARED)/core/src ; constant TRANSCODERS_SRC : $(SHARED)/transcoders/src ; constant TEST_TRANSCODERS_SRC : $(SHARED)/transcoders/test_transcoders/src ; constant SOAP_SRC : $(SHARED)/soap/src ; constant HTTP_SRC : $(SHARED)/HTTP/src ; constant HASH_SRC : $(SHARED)/processors/hashfeature/src ; constant TOKENIZER_SRC : $(SHARED)/processors/tokenizer/src ; constant PARSER_PROC_SRC : $(TEXT_MINING)/ParserProcessor/src ; constant EMAIL_PARSER_SRC : $(SHARED)/processors/emailparser/src ; constant PCF_SRC : $(SHARED)/processors/phrasecountfeature/src ; constant YSP_SRC : $(SHARED)/ysp/src ; constant PCF_SRC1 : $(TEXT_MINING)/phrasecountfeature/src ; constant WCF_SRC : $(TEXT_MINING)/WordCountFeature/src ; constant TCL_SRC : $(SHARED)/tcl/src ; constant TCL_CORE_SRC : $(SHARED)/TclCore/src ; constant KB_SRC : $(SHARED)/KnowledgeBuilder/src ; constant KB_CACHE_SRC : $(SHARED)/KnowledgeBuilder/KbUtils/Cache/src ; constant KB_CONFIG_SRC : $(SHARED)/KnowledgeBuilder/KbUtils/KbConfigMgr/src ; constant OS_SRC : $(SHARED)/os/src ; constant OS_LINUX_SRC : $(SHARED)/os/linux/src ; constant OS_WIN_SRC : $(SHARED)/os/win32/src ; constant NEARDUP_SRC : $(SHARED)/NearDupCluster/src ; use-project /library/httpclient : $(SHARED)/httpclient ; use-project /library/http : $(SHARED)/HTTP ; use-project /library/streams : $(SHARED)/streams ; use-project /library/mempools : $(SHARED)/mempools ; use-project /library/os : $(SHARED)/os ; use-project /library/transcoders : $(SHARED)/transcoders ; use-project /library/utils : $(SHARED)/utils ; use-project /library/logger : $(SHARED)/logger ; use-project /library/core : $(SHARED)/core ; use-project /library/stringutils : $(SHARED)/stringutils ; use-project /library/cryptlib : $(SHARED)/cryptlib ; use-project /library/zyogi : $(ZYOGI) ; use-project /library/clustering : $(CLUSTER) ; use-project /library/corpora : $(CLUSTER)/corpora ; use-project /library/dictionaryservice : $(SHARED)/dictionary ; use-project /library/kbutils : $(SHARED)/KnowledgeBuilder/KbUtils ; use-project /library/ysp : $(SHARED)/ysp ; use-project /library/soap : $(SHARED)/soap ; use-project /library/tcl : $(SHARED)/tcl ; use-project /library/tclcore : $(SHARED)/TclCore ; use-project /library/languageidentifier : $(SHARED)/processors/languageidentifier ; use-project /library/saxreaderutils : $(SHARED)/xml ; use-project /library/writerutils : $(SHARED)/xml/WriterUtils ; use-project /library/parser : $(SHARED)/processors/parser ; use-project /library/stemmer : $(SHARED)/processors/stemmer ; use-project /library/aprwrapper : $(HOME_ROOT)/src/common/native/os/aprwrap ; use-project /library/ilogger : $(HOME_ROOT)/src/common/native/logging/impl/basic ; #STATIC_BUILD is for TCL/Tk # DEFINES = PARSER_EXPORTS _UNICODE UNICODE CRYPTO_SHA1 JNICOMMON_EXPORTS _USE_APR=1 _APR_AUTO_INITIALIZE APR_DECLARE_STATIC XERCES_STATIC_LIBRARY XML_LIBRARY STATIC_BUILD ; project : requirements on $(SRC) $(SRC_ROOT) $(TP) $(TEXT_MINING) $(SHARED) $(XERCES_INC) $(HOME_ROOT) $(OPENSSL_INCLUDE) $(SHARED)/os/inc $(SHARED)/http/inc $(SHARED)/core/inc $(SHARED)/os/inc $(SHARED)/stringutils/inc $(COMMON) $(BOOST) $(BOOST_LIBS_INCLUDE) $(APACHE_INCLUDE) $(APR_INCLUDE) $(APACHE_OS_INCLUDE) $(APR_UTIL_INCLUDE) $(JNI) $(JDK_INCLUDE) $(ICU_INCLUDE) $(NATIVE) $(ZYOGI_INC1) $(ZYOGI_INC2) $(DOC_PROC_ROOT) $(CLUSTER) $(OS_LINUX_SRC) $(OS_WIN_SRC) $(DEFINES) #Begin MSVC settings #msvc:debug:/MTd msvc:release:/MT msvc:/Gd #msvc:/E #msvc:release:/Ob1 msvc:/FD msvc:/EHsc msvc:/O2 msvc:_SECURE_SCL=0 #msvc:/Ob1 #msvc:/SECURE_SCL=0 msvc:debug:/RTC1 msvc:/J msvc:/TP #msvc:/E msvc:_VC80_UPGRADE=0x0710 msvc:ENABLE_LOGGING msvc:_WINDOWS msvc:_WIN32 msvc:WIN32 msvc:PARSER_EXPORTS msvc:_USE_APR_CONV #msvc:JNICOMMON_EXPORTS #msvc:_SGI_STL_PORT msvc:U_STATIC_IMPLEMENTATION=1 #msvc:_STLP_USE_STATIC_LIB msvc:/GF msvc:/FD msvc:/Gy msvc:/Zi msvc:/FIXED:NO msvc:/INCREMENTAL:NO msvc:debug:/NODEFAULTLIB:libcmt.lib msvc:/NODEFAULTLIB:msvcrtd.lib msvc:release:/NODEFAULTLIB:libcmtd.lib #msvc:debug:/NODEFAULTLIB:libcmtd.lib #msvc:/SUBSYSTEM:CONSOLE msvc:/LARGEADDRESSAWARE msvc:/MACHINE:X86 msvc:debug:/MTd msvc:release:/MT msvc:/FIXED:NO msvc:static #End MSVC options #Begin gcc options gcc:USE_STLPORT gcc:_LINUX gcc:$(STLPORT_INCLUDE) #End gcc options multi ; # DocProc build-project docservices/documentprocessors/ParserProcessor ; alias ParserProcessor : docservices/documentprocessors/ParserProcessor ; build-project docservices/common/src/native/jnicommon ; alias jnicommon : docservices/common/src/native/jnicommon ; build-project docservices/documentprocessors/phrasecountfeature ; alias phrasecountfeature : docservices/documentprocessors/phrasecountfeature ; build-project docservices/documentprocessors/WordCountFeature ; alias WordCountFeature : docservices/documentprocessors/WordCountFeature ; alias docproc : ParserProcessor jnicommon phrasecountfeature WordCountFeature ; # NearDup build-project docservices/documentprocessors/shared/NearDupCluster ; alias neardup : docservices/documentprocessors/shared/NearDupCluster ; # KnowledgeBuilder build-project docservices/documentprocessors/shared/KnowledgeBuilder ; alias taxbuilder : docservices/documentprocessors/shared/KnowledgeBuilder ;