Files
harbour-core/harbour/contrib/pgsql/make_vc.bat
Viktor Szakats afa2fb39fd 2007-11-29 22:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_vcce.bat
   * make_vcce.mak
   * make_b32.bat
   * make_b32.mak
   * make_vc.bat
   * make_vc.mak
   * common.mak
     + Now every internally used envvars are reset before 
       exiting.
     ! Not tampering with user level envvars by changing 
       their content to default values.
     % HB_GT_* envvar defaulting move to .mak file level, 
       since these envvars were not used on batch file 
       level anyway.

   * make_vcce.bat
   * make_vcce.mak
     * CFLAGS -DHB_NO_WIN_CONSOLE moved to the make file.
       If there was any reason to have this only CE C flag 
       in batch file separated from the rest of the extra 
       CE C flags in the make file, please speak up.
       This change may cause trouble for those using 
       the make file directly and at the same time don't 
       want to use the HB_NO_WIN_CONSOLE compiler flag. 
       In this case we should add a documented way to 
       disable it inside the make file IMO.

   * contrib/freeimage/make_b32.bat
   * contrib/freeimage/make_vc.bat
   * contrib/apollo/make_b32.bat
   * contrib/apollo/make_vc.bat
   * contrib/firebird/make_b32.bat
   * contrib/firebird/make_vc.bat
   * contrib/pdflib/make_b32.bat
   * contrib/pdflib/make_vc.bat
   * contrib/hbzlib/make_b32.bat
   * contrib/hbzlib/make_vc.bat
   * contrib/pgsql/make_b32.bat
   * contrib/pgsql/make_vc.bat
   * contrib/gd/make_b32.bat
   * contrib/gd/make_vc.bat
   * contrib/rdd_ads/make_b32.bat
   * contrib/rdd_ads/make_vc.bat
   * contrib/mysql/make_b32.bat
   * contrib/mysql/make_vc.bat
   * contrib/odbc/make_b32.bat
   * contrib/odbc/make_vc.bat
   * contrib/what32/make_b32.bat
   * contrib/what32/make_vc.bat
   * contrib/msql/make_b32.bat
   * contrib/msql/make_vc.bat
     + Now every internally used envvars are reset before 
       exiting the batch file, so they won't interact 
       with other batch files even if being called after 
       each other using "call". So "%COMPSPEC% /c" is not 
       necessary anymore when calling these batches.
     ! Fixed to use _HB_CC_NAME when dealing with .dll to .lib 
       conversions.

   * contrib/make_b32_all.bat
   * contrib/make_vc_all.bat
     + Added gtwvg library.
     + Added what32 library (to DO_NOT_COMPILE list for b32).

   * contrib/mtpl_b32.bat
   * contrib/mtpl_vc.bat
     ! Undone prev change because it interacted with .dll to .lib
       conversions.
2007-11-29 21:24:26 +00:00

79 lines
2.7 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
set CFLAGS=
set HB_DLL_NAME=
set HB_DLL_DIR=