[ENHANCEMENT] (Author: Dave Brotherstone) Enhance Scintilla compiling script for PCRE support.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@864 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2012-02-15 01:06:47 +00:00
parent 7e0ed0ebf3
commit 3264a77ead
2 changed files with 43 additions and 12 deletions

View File

@ -15,6 +15,7 @@ IF NOT EXIST "%BOOSTPATH%\bjam\bin\bjam.exe" (
CALL bootstrap.bat CALL bootstrap.bat
%BOOSTPATH%\tools\build\v2\b2 --prefix=%BOOSTPATH%\bjam install %BOOSTPATH%\tools\build\v2\b2 --prefix=%BOOSTPATH%\bjam install
POPD
) )
IF NOT ERRORLEVEL 0 ( IF NOT ERRORLEVEL 0 (
@ -24,7 +25,7 @@ IF NOT ERRORLEVEL 0 (
ECHO. ECHO.
ECHO Building Boost::regex ECHO Building Boost::regex
CD %BOOSTPATH%\libs\regex\build PUSHD %BOOSTPATH%\libs\regex\build
%BOOSTPATH%\bjam\bin\bjam variant=release threading=multi link=static runtime-link=static %BOOSTPATH%\bjam\bin\bjam variant=release threading=multi link=static runtime-link=static
IF NOT ERRORLEVEL 0 ( IF NOT ERRORLEVEL 0 (
@ -36,18 +37,29 @@ IF NOT ERRORLEVEL 0 (
GOTO BUILDERROR GOTO BUILDERROR
) )
IF EXIST "%BOOSTPATH%\bin.v2\libs\regex\build\msvc-8.0" ( :: VS2010
SET BOOSTVSVERPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-8.0 IF EXIST %BOOSTPATH%\bin.v2\libs\regex\build\msvc-10.0\release\link-static\runtime-link-static\threading-multi\libboost_regex-vc100-mt-s-1_48.lib (
) ELSE IF EXIST "%BOOSTPATH%\bin.v2\libs\regex\build\msvc-9.0" ( SET BOOSTLIBPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-10.0
SET BOOSTVSVERPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-9.0 )
) ELSE IF EXIST "%BOOSTPATH%\bin.v2\libs\regex\build\msvc-10.0" (
SET BOOSTVSVERPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-10.0 :: VS2008
IF EXIST %BOOSTPATH%\bin.v2\libs\regex\build\msvc-9.0\release\link-static\runtime-link-static\threading-multi\libboost_regex-vc90-mt-s-1_48.lib (
SET BOOSTLIBPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-9.0
)
:: VS2005
IF EXIST %BOOSTPATH%\bin.v2\libs\regex\build\msvc-8.0\release\link-static\runtime-link-static\threading-multi\libboost_regex-vc80-mt-s-1_48.lib (
SET BOOSTLIBPATH=%BOOSTPATH%\bin.v2\libs\regex\build\msvc-8.0
)
:: Error case, so we try to give the user a helpful error message
IF [%BOOSTLIBPATH%] == [] (
SET BOOSTLIBPATH=no_boost_library_found__Set_BoostLibPath_in_BoostPath.mak__Should_be_under_%BOOSTPATH%\bin.v2\libs\regex\build\_something_
) )
ECHO # Autogenerated file, run BuildBoost.bat [path_to_boost] to generate > %~dp0%\boostpath.mak ECHO # Autogenerated file, run BuildBoost.bat [path_to_boost] to generate > %~dp0%\boostpath.mak
ECHO BOOSTPATH=%BOOSTPATH% >> %~dp0%\boostpath.mak ECHO BOOSTPATH=%BOOSTPATH% >> %~dp0%\boostpath.mak
ECHO BOOSTVSVERPATH=%BOOSTVSVERPATH% >> %~dp0%\boostpath.mak ECHO BOOSTLIBPATH=%BOOSTLIBPATH% >> %~dp0%\boostpath.mak
POPD POPD
ECHO Boost::regex built. ECHO Boost::regex built.

View File

@ -26,9 +26,9 @@ INCLUDEDIRS=$(INCLUDEDIRS) -I$(BOOSTPATH)
CXXFLAGS=$(CXXFLAGS) -DSCI_OWNREGEX CXXFLAGS=$(CXXFLAGS) -DSCI_OWNREGEX
!IFDEF DEBUG !IFDEF DEBUG
LDFLAGS=$(LDFLAGS) -LIBPATH:$(BOOSTVSVERPATH)\debug\link-static\runtime-link-static\threading-multi LDFLAGS=$(LDFLAGS) -LIBPATH:$(BOOSTLIBPATH)\debug\link-static\runtime-link-static\threading-multi
!ELSE !ELSE
LDFLAGS=$(LDFLAGS) -LIBPATH:$(BOOSTVSVERPATH)\release\link-static\runtime-link-static\threading-multi LDFLAGS=$(LDFLAGS) -LIBPATH:$(BOOSTLIBPATH)\release\link-static\runtime-link-static\threading-multi
!ENDIF !ENDIF
@ -39,6 +39,25 @@ $(DIR_O)\UTF8DocumentIterator.obj:: ../boostregex/UTF8DocumentIterator.cxx
$(DIR_O)\BoostRegexSearch.obj:: ../boostregex/BoostRegexSearch.cxx ../src/CharClassify.h ../src/RESearch.h $(DIR_O)\BoostRegexSearch.obj:: ../boostregex/BoostRegexSearch.cxx ../src/CharClassify.h ../src/RESearch.h
$(CC) $(CXXFLAGS) -c ../boostregex/BoostRegexSearch.cxx $(CC) $(CXXFLAGS) -c ../boostregex/BoostRegexSearch.cxx
!ELSE
!IFDEF NOBOOST
!MESSAGE Note: Building without Boost-Regex support.
!ELSE
!MESSAGE Note: It looks like you've not built boost yet.
!MESSAGE You can build boost::regex by running BuildBoost.bat
!MESSAGE from scintilla\BoostRegex directory with the path where
!MESSAGE you have extracted the boost archive (from www.boost.org)
!MESSAGE e.g.
!MESSAGE buildboost.bat d:\libs\boost_1_48_0
!MESSAGE
!MESSAGE If you want to build scintilla without Boost (and just
!MESSAGE use the limited built-in regular expressions),
!MESSAGE then run nmake again, with NOBOOST=1
!MESSAGE e.g.
!MESSAGE nmake NOBOOST=1 -f scintilla.mak
!MESSAGE
!ERROR Stopping build. Either build boost or specify NOBOOST=1
!ENDIF !ENDIF
!ENDIF