Improved Windows support with MSVC release-6.1.1

18 months ago

author
Markus Mottl <markus.mottl@gmail.com>
date
Sun Oct 31 19:52:15 2010 -0400
changeset 52
fb29e7be9814
parent 51
8393f8f80c40
child 53
632bf5394b82

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

mercurial