2009-06-10 21:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* utils/hbmk2/hbmk2.prg
    ! Fixed windows/dos cross-compilation. The error is very
      strange, it occures only when calling gcc in compiler
      mode with @script file. See comment in source, maybe 
      someone has an idea.
      Anyway now it's possible to bundle DOS libs in the unified 
      Windows build and create DOS apps/libs with it, using this command:
         hbmk2 hello.prg -arch=dos
         [needs DJGPP in PATH]
      (I couldn't make owatcom work on DOS, but that may also work 
      along the same lines)
    + Added support for static lib generation for dos/djgpp.
    + Added support for static lib generation for os2/gcc. (untested)
      Where are our OS/2 developers?
This commit is contained in:
Viktor Szakats
2009-06-10 19:13:26 +00:00
parent de8c2e9544
commit 054d4e1873
2 changed files with 39 additions and 1 deletions

View File

@@ -17,6 +17,22 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-06-10 21:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
! Fixed windows/dos cross-compilation. The error is very
strange, it occures only when calling gcc in compiler
mode with @script file. See comment in source, maybe
someone has an idea.
Anyway now it's possible to bundle DOS libs in the unified
Windows build and create DOS apps/libs with it, using this command:
hbmk2 hello.prg -arch=dos
[needs DJGPP in PATH]
(I couldn't make owatcom work on DOS, but that may also work
along the same lines)
+ Added support for static lib generation for dos/djgpp.
+ Added support for static lib generation for os2/gcc. (untested)
Where are our OS/2 developers?
2009-06-10 20:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/en-EN/Makefile
* config/dos/global.cf

View File

@@ -2216,6 +2216,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
cLibPathPrefix := "-L"
cLibPathSep := " "
cLibLibExt := ".a"
cBin_Lib := "ar.exe"
cOpt_Lib := "{FA} rcs {OL} {LO}"
IF hbmk[ _HBMK_lMAP ]
AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,-Map,{OM}" )
ENDIF
@@ -2257,13 +2259,33 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
IF hbmk[ _HBMK_lINC ] .AND. ! Empty( cWorkDir )
cOpt_CompC += " {IC} -o {OO}"
ELSE
cOpt_CompC += " {LC}{SCRIPT}"
/* NOTE: For some reason DJGPP gcc launched from Windows builds
(win/dos cross-build scenario using -arch=dos switch)
won't work when external script usage is attempted:
---
gcc.exe: @c:/devl/djgpp/tmp\lxwp3x.cpl: No such file or directory (ENOENT)
gcc.exe: no input files
---
I have no idea why, tried to execute using hb_run(),
tried with the same filename parameter as the DOS build
generated, to no avail. Interestingly same *gcc in link mode*
doesn't suffer from this problem on equal conditions.
This hack will introduce command line size limitations,
which can be overcome by using -inc hbmk2 switch.
[vszakats] */
#if defined( __PLATFORM__DOS )
cOpt_CompC += " {LC}{SCRIPT}"
#else
cOpt_CompC += " {LC}"
#endif
ENDIF
cBin_Link := cBin_CompC
cOpt_Link := "{LO} {LA} {FL} {DL}{SCRIPT}"
cLibPathPrefix := "-L"
cLibPathSep := " "
cLibLibExt := ".a"
cBin_Lib := "ar.exe"
cOpt_Lib := "{FA} rcs {OL} {LO}"
IF hbmk[ _HBMK_cCOMP ] == "djgpp"
AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,--start-group {LL} -Wl,--end-group" )
ELSE