18 months ago
Improved Windows support with MSVC
| Changelog | file | annotate | diff | revisions | |
| lib/META | file | annotate | diff | revisions | |
| lib/make_msvc.bat | file | annotate | diff | revisions | |
| lib/pcre_stubs.c | file | annotate | diff | revisions |
1.1 --- a/Changelog 1.2 +++ b/Changelog 1.3 @@ -1,3 +1,7 @@ 1.4 +2010-10-31: Improved Windows support with MSVC. 1.5 + 1.6 + Thanks to Sylvain Le Gall <sylvain@le-gall.net> for the patch! 1.7 + 1.8 2010-04-01: Added new function: 1.9 1.10 * regexp_or
2.1 --- a/lib/META 2.2 +++ b/lib/META 2.3 @@ -1,5 +1,5 @@ 2.4 name="pcre" 2.5 -version="6.1.0" 2.6 +version="6.1.1" 2.7 description="Perl Compatibility Regular Expressions" 2.8 requires="" 2.9 archive(byte)="pcre.cma"
3.1 --- a/lib/make_msvc.bat 3.2 +++ b/lib/make_msvc.bat 3.3 @@ -5,9 +5,9 @@ 3.4 set INSTALLDIR=%OCAMLLIB%\pcre 3.5 set STUBDIR=%OCAMLLIB%\stublibs 3.6 3.7 -set PCRE_H=C:\pcre 3.8 +set PCRE_H=C:\pcre\pcre-7.7\include 3.9 REM Full path of the pcre C lib: 3.10 -set PCRE_LIB="C:\pcre"\libpcre.lib 3.11 +set PCRE_LIB=C:\pcre\pcre-7.7\lib\libpcre.lib 3.12 3.13 set OCAMLC=ocamlc 3.14 set OCAMLOPT=ocamlopt 3.15 @@ -28,26 +28,30 @@ 3.16 3.17 %OCAMLC% -c pcre.mli 3.18 @echo --- Byte code library --- 3.19 -cl /nologo /Ox /MT /DPCRE_STATIC /I "%OCAMLLIB%" /I "%PCRE_H%" /c pcre_stubs.c /Fopcre_stubs.s.obj 3.20 -lib /nologo /out:libpcre_stubs.lib pcre_stubs.s.obj 3.21 +REM cl /nologo /Ox /MT /DPCRE_STATIC /I "%OCAMLLIB%" /I "%PCRE_H%" /c pcre_stubs.c /Fopcre_stubs.s.obj 3.22 +REM lib /nologo /out:libpcre_stubs.lib pcre_stubs.s.obj 3.23 +%OCAMLC% -I "%PCRE_H%" -ccopt /DPCRE_STATIC pcre_stubs.c 3.24 +ocamlmklib -o pcre_stubs pcre_stubs.obj 3.25 3.26 @REM cl /nologo /Ox /MD /DCAML_DLL /I "%OCAMLLIB%" /I "%PCRE_H%" /c pcre_stubs.c /Fopcre_stubs.d.obj 3.27 @REM link /nologo /dll /out:dllpcre_stubs.dll /def:pcre_stubs.DEF pcre_stubs.d.obj "%OCAMLLIB%"\ocamlrun.lib %PCRE_LIB% 3.28 @REM copy dllpcre_stubs.dll "%STUBDIR%" >NUL 3.29 3.30 -%OCAMLC% -custom -a -o pcre.cma pcre.ml pcre.mli -cclib %PCRE_LIB% -cclib -lpcre_stubs 3.31 +%OCAMLC% -custom -a -o pcre.cma pcre.ml pcre.mli -cclib "%PCRE_LIB%" -cclib -lpcre_stubs 3.32 3.33 @echo --- Native code library --- 3.34 -%OCAMLOPT% -a -o pcre.cmxa pcre.ml pcre.mli -cclib %PCRE_LIB% -cclib -lpcre_stubs 3.35 +%OCAMLOPT% -a -o pcre.cmxa pcre.ml pcre.mli -cclib "%PCRE_LIB%" -cclib -lpcre_stubs 3.36 3.37 @echo --- Installation --- 3.38 -mkdir "%INSTALLDIR%" 3.39 -copy libpcre_stubs.lib "%INSTALLDIR%" >NUL 3.40 -copy pcre.mli "%INSTALLDIR%" >NUL 3.41 -copy pcre.cmi "%INSTALLDIR%" >NUL 3.42 -copy pcre.cma "%INSTALLDIR%" >NUL 3.43 -copy pcre.cmxa "%INSTALLDIR%" >NUL 3.44 -copy pcre_stubs.lib "%INSTALLDIR%" >NUL 3.45 -copy pcre.lib "%INSTALLDIR%" >NUL 3.46 +ocamlfind install pcre META libpcre_stubs.lib pcre.mli pcre.cmi pcre.cma pcre.cmxa pcre.lib 3.47 +REM mkdir "%INSTALLDIR%" 3.48 +REM copy libpcre_stubs.lib "%INSTALLDIR%" >NUL 3.49 +REM copy pcre.mli "%INSTALLDIR%" >NUL 3.50 +REM copy pcre.cmi "%INSTALLDIR%" >NUL 3.51 +REM copy pcre.cma "%INSTALLDIR%" >NUL 3.52 +REM copy pcre.cmxa "%INSTALLDIR%" >NUL 3.53 +REM copy pcre_stubs.lib "%INSTALLDIR%" >NUL 3.54 +REM copy pcre.lib "%INSTALLDIR%" >NUL 3.55 +REM copy META "%INSTALLDIR%" >NUL 3.56 3.57 @prompt $P$G$S
4.1 --- a/lib/pcre_stubs.c 4.2 +++ b/lib/pcre_stubs.c 4.3 @@ -20,10 +20,13 @@ 4.4 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 4.5 */ 4.6 4.7 -#if defined(_WIN32) && defined(_DLL) 4.8 -# define PCREextern __declspec(dllexport) 4.9 -#else 4.10 -# define PCREextern 4.11 +#if defined(_WIN32) 4.12 +# define snprintf _snprintf 4.13 +# if defined(_DLL) 4.14 +# define PCREextern __declspec(dllexport) 4.15 +# else 4.16 +# define PCREextern 4.17 +# endif 4.18 #endif 4.19 4.20 #if __GNUC__ >= 3