Files
harbour-core/harbour/make_gnu_os2.cmd
Viktor Szakats dccd59cf69 2009-03-17 17:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.sh
  * bin/hb-mkdyn.bat
  * source/vm/maindllp.c
  * utils/hbmk2/hbmk2.prg
    + Renamed all Windows Harbour .dlls to harbour-11.dll and
      harbourmt-11.dll. This means that MinGW will now have a versioned
      name to be in sync with other builds. It also means that
      -vc, -pocc, -ow postfixes are gone (and additionally DMC
      could also be supported). What remains is -x64 to
      signal an x64 and -ia64 to signal a IA64 build. Another thing
      which remains is -b32 (now renamed to -bcc to be in sync with
      rest of Harbour), because Borland has an non-standard
      name mangling, and while it can be made work with other
      compilers since the calling convention is the same, it requires
      the .dll user applications to be rebuilt with some implib tricks.
      Overall Borland isn't recommended for .dll creation.
      Please do further tests for binary compatibility.

    ; TOFIX: Location of .dll still differs for mingw/cygwin, they
             are created in lib while rest of compilers create it in
             bin. I think we should sync them by creating a copy
             of the .dlls in bin for mingw/cygwin. Przemek, could
             you help here?
    ; TOFIX: "Making <dllname>..." screen messages. I'll need some  
             help here also.

  * bin/hb-mkdyn.sh
    * ${MAJOR} default set to 1.

  * make_gnu_os2.cmd
    * Minor formatting.

  * contrib/hbgd/gdwrp.c
    ! Minor correction to recent change. (avoiding warning for MinGW)
2009-03-17 16:30:35 +00:00

63 lines
2.3 KiB
Batchfile

@rem
@rem $Id$
@rem
@echo off
rem Minimal initialization of environment variables for OS2 GCC build
rem for further information about see make_gnu.bat
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=os2
if "%HB_COMPILER%" == "" set HB_COMPILER=gcc
rem Set to constant value to be consistent with the non-GNU make files.
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_DOC_INSTALL%" == "" set HB_DOC_INSTALL=%HB_INSTALL_PREFIX%\doc
rem Try to create install dirs.
if not exist %HB_BIN_INSTALL%\*.* md %HB_BIN_INSTALL%
if not exist %HB_LIB_INSTALL%\*.* md %HB_LIB_INSTALL%
if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
if not exist %HB_DOC_INSTALL%\*.* md %HB_DOC_INSTALL%
rem In GCC3.2.2 the TCP/IP headers and libraries scheme have been changed.
rem The default is the current OS/2 tcpip toolkit (BSD 4.4 based).
rem To target the older OS/2 tcpip stack (BSD 4.3 based) and create
rem binaries which can be executed also on older OS2 versions you must
rem define TCPV40HDRS before including any TCP/IP headers and make
rem sure usr/lib/tcpipv4 is searched before usr/lib (this is to
rem get the right libsocket). It is recommended to use the -D
rem compiler option for the define and either the LIBRARY_PATH or
rem the -L compiler/linker option for the library.
rem For building Harbour you can also use HB_USER_LDFLAGS environment variable,
rem f.e.
rem set HB_USER_LDFLAGS=-Le:\usr\lib\tcpipv4
rem
rem If you are using newer OS2 version with tcp/ip stack >= 4.1
rem (eComStation, for example) and you do not need backward binary
rem compatibility then you can disable it by setting HB_OS2_TCP32
rem environment variable, f.e.
rem set HB_OS2_TCP32=yes
if "%HB_OS2_TCP32%" == "yes" goto tcp32
if "%HB_OS2_TCP32%" == "YES" goto tcp32
set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS%
:tcp32
set _HB_HARBOUR_OLD=%HARBOUR%
set _HB_CLIPPER_OLD=%CLIPPER%
set HARBOUR=
set CLIPPER=
make %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
set HARBOUR=%_HB_HARBOUR_OLD%
set CLIPPER=%_HB_CLIPPER_OLD%
set _HB_HARBOUR_OLD=
set _HB_CLIPPER_OLD=