Files
harbour-core/harbour/contrib/pgsql/make_vc.bat
Viktor Szakats 3307b6f37e 2007-11-27 01:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_b32.mak
     ! Removed -l flag from .dll creation to be in sync with the 
       rest of Harbour.

   * contrib/mtpl_b32.mak
   * contrib/mtpl_vc.mak
     ! Synced with core flags (VC mainly).

   * contrib/freeimage/fi_winfu.c
   * contrib/freeimage/fi_wrp.c
   * contrib/freeimage/make_b32.bat
   * contrib/freeimage/make_vc.bat
   * contrib/firebird/firebird.c
   * contrib/firebird/make_b32.bat
   * contrib/firebird/make_vc.bat
   * contrib/pdflib/make_b32.bat
   * contrib/pdflib/make_vc.bat
   * contrib/pdflib/pdfhbdoc.c
   * contrib/pgsql/postgres.c
   * contrib/pgsql/make_b32.bat
   * contrib/pgsql/make_vc.bat
   * contrib/mysql/mysql.c
   * contrib/mysql/make_b32.bat
   * contrib/mysql/make_vc.bat
     ! Some extra lib-level custom C flags fixed to be 
       in sync with rest of Harbour. (mainly HB_OS_WIN_32_USED)

   * contrib/hbzlib/make_b32.bat
   * contrib/hbzlib/make_vc.bat
     ! hbziparch extra switches removed (all of them). 
       This made surface a whole lot of warnings.
       If someone wants to create a .dll from this, 
       -DZLIB_DLL will need to be added to C_USR.
       -a8 switch was also removed from the BCC build.
       If someone know that it's necessary, pls shout.
2007-11-27 00:26:23 +00:00

75 lines
2.6 KiB
Batchfile

@echo off
rem
rem $Id$
rem
if not "%PGSQL_DIR%" == "" goto DIR_OK
echo ---------------------------------------------------------------
echo IMPORTANT: You'll need PostreSQL package and this envvar
echo to be set to successfully build this library:
echo set PGSQL_DIR=C:\pgsql
echo ---------------------------------------------------------------
goto POST_EXIT
:DIR_OK
set CFLAGS=-I%PGSQL_DIR%\include
rem .exe
set HB_DLL_NAME=postgres
set HB_DLL_DIR=%PGSQL_DIR%\bin
rem ---------------------------------------------------------------
call ..\mtpl_vc.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
rem ---------------------------------------------------------------
set _HB_INSTALL_PREFIX=%HB_INSTALL_PREFIX%
if "%_HB_INSTALL_PREFIX%" == "" set _HB_INSTALL_PREFIX=..\..
set _HB_LIB_INSTALL=%HB_LIB_INSTALL%
if "%_HB_LIB_INSTALL%" == "" set _HB_LIB_INSTALL=%_HB_INSTALL_PREFIX%\lib
if "%1" == "clean" goto POST_CLEAN
if "%1" == "Clean" goto POST_CLEAN
if "%1" == "CLEAN" goto POST_CLEAN
if "%1" == "install" goto POST_INSTALL
if "%1" == "Install" goto POST_INSTALL
if "%1" == "INSTALL" goto POST_INSTALL
:POST_BUILD
rem ---------------------------------------------------------------
rem This .dll to .lib conversion needs GNU sed.exe in the path
rem ---------------------------------------------------------------
echo./[ \t]*ordinal hint/,/^^[ \t]*Summary/{> _temp.sed
echo. /^^[ \t]\+[0-9]\+/{>> _temp.sed
echo. s/^^[ \t]\+[0-9]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+\(.*\)/\1/p>> _temp.sed
echo. }>> _temp.sed
echo.}>> _temp.sed
DUMPBIN /EXPORTS %HB_DLL_DIR%\%HB_DLL_NAME%.exe > _dump.tmp
echo.LIBRARY %HB_DLL_DIR%\%HB_DLL_NAME%.exe > _temp.def
echo.EXPORTS >> _temp.def
sed -nf _temp.sed < _dump.tmp >> _temp.def
LIB /MACHINE:X86 /DEF:_temp.def /OUT:..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.lib
del _dump.tmp
del _temp.def
del _temp.sed
rem ---------------------------------------------------------------
goto POST_EXIT
:POST_CLEAN
if exist ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.lib del ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.lib > nul
if exist ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.exp del ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.exp > nul
if exist %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib del %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib > nul
goto POST_EXIT
:POST_INSTALL
if exist %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib del %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib
if exist ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.lib copy ..\..\lib\%HB_CC_NAME%\%HB_DLL_NAME%.lib %_HB_LIB_INSTALL%
goto POST_EXIT
:POST_EXIT