2012-03-03 16:10 UTC+0100 Viktor Szakats (harbour syenar.net)

* package/winuni/mpkg_win_uni.bat
    - deleted windows-only contrib specific file installation
      procedure. now done by contrib/make.hbs.
    ; it also means that contrib-specific public files are
      now included in non-unified installation packages,
      created using HB_BUILD_PKG=yes.

    ; TODO: modify *nix package creation scripts to include
            /opt/harbour/contrib in the package.

  * config/global.mk
  * INSTALL
    * changed HB_INSTALL_IMPLIB default to 'yes'. This means
      that now the implibs for 3rd party .dlls will be included
      in install packages, including the nightly/stable releases.
      This is theoretically wrong solution and bad practice, but 
      to me real life shows that users don't have a clue about 
      implibs and how to generate them and it also requires users 
      to build Harbour themselves if they want to use any of the 
      many libs with implib dependencies, instead of being able 
      to use binary releases.
      One big WARNING applies (quote from INSTALL):
        "Also note that the generated implibs will require .dlls
         compatible with the ones used at build time."
      IOW you must be using the same (or binary compatible)
      .dll as was used at built time. If you use something else,
      you still will have to generate the implib yourself or
      change your .dll version according to above.
      [I hope Marek Paliwoda doesn't mind.]
This commit is contained in:
Viktor Szakats
2012-03-03 15:12:12 +00:00
parent 17726341ae
commit f4973027bd
4 changed files with 40 additions and 22 deletions

View File

@@ -16,6 +16,37 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-03-03 16:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* package/winuni/mpkg_win_uni.bat
- deleted windows-only contrib specific file installation
procedure. now done by contrib/make.hbs.
; it also means that contrib-specific public files are
now included in non-unified installation packages,
created using HB_BUILD_PKG=yes.
; TODO: modify *nix package creation scripts to include
/opt/harbour/contrib in the package.
* config/global.mk
* INSTALL
* changed HB_INSTALL_IMPLIB default to 'yes'. This means
that now the implibs for 3rd party .dlls will be included
in install packages, including the nightly/stable releases.
This is theoretically wrong solution and bad practice, but
to me real life shows that users don't have a clue about
implibs and how to generate them and it also requires users
to build Harbour themselves if they want to use any of the
many libs with implib dependencies, instead of being able
to use binary releases.
One big WARNING applies (quote from INSTALL):
"Also note that the generated implibs will require .dlls
compatible with the ones used at build time."
IOW you must be using the same (or binary compatible)
.dll as was used at built time. If you use something else,
you still will have to generate the implib yourself or
change your .dll version according to above.
[I hope Marek Paliwoda doesn't mind.]
2012-03-03 15:40 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/hbrun/headers.prg
* utils/hbmk2/hbmk2.prg

View File

@@ -747,21 +747,23 @@ HARBOUR
Lib names should be without extension and path.
You only need this in special cases, like CodeGuard
build with bcc.
- HB_INSTALL_IMPLIB=yes Copy import libraries created for external .dll
- HB_INSTALL_IMPLIB=no Copy import libraries created for external .dll
dependencies to the library install directory in
'install' build phase. Default: no
'install' build phase. Default: yes
(for Windows/OS/2 targets only. Please note
that this feature doesn't work with all possible
binary distributions of 3rd party packages.
We test only the official/mainstream ones.)
We test only the official/mainstream ones. Also
note that the generated implibs will require .dlls
compatible with the ones used at build time.)
- HB_SRC_ROOTPATH=<dir> When using GNU Make older than 3.81, you shall set
the root directory of Harbour source tree as an
absolute path. If not set, some build functionality
may fail, like detection of 3rd party packages with
locally hosted sources.
With newer make versions, this variable is ignored.
- HB_REBUILD_EXTERN=yes Rebuild extern headers. This is typically used by
developers after code modifications or before
- HB_REBUILD_EXTERN=yes Rebuild extern headers. This is typically used by
developers after code modifications or before
release. Default: no
- HB_REBUILD_PARSER=yes Rebuild language parser sources. Typically
you only need this if your are Harbour core

View File

@@ -149,7 +149,7 @@ ifeq ($(HB_INIT_DONE),)
export HB_BUILD_OPTIM := yes
export HB_BUILD_DEBUG := no
export HB_BUILD_SHARED := no
export HB_INSTALL_IMPLIB := no
export HB_INSTALL_IMPLIB := yes
export HB_REBUILD_EXTERN := no
export HB_REBUILD_PARSER := no
endif

View File

@@ -31,6 +31,7 @@ rem ; Assemble unified package from per-target builds
if exist %HB_ABSROOT% rd /q /s %HB_ABSROOT%
xcopy /y %~dp0RELNOTES %HB_ABSROOT%
xcopy /y /s %~dp0..\..\contrib\*.* %HB_ABSROOT%contrib\
xcopy /y /s %~dp0..\..\examples\*.* %HB_ABSROOT%examples\
xcopy /y /s %~dp0..\..\tests\*.* %HB_ABSROOT%tests\
xcopy /y %~dp0HARBOUR_README_ADDONS %HB_ABSROOT%addons\
@@ -106,22 +107,6 @@ if exist %HB_ABSROOT%lib\win\watcom\ xcopy /y "%HB_DIR_UNICOWS%\watcom\uni
if exist %HB_ABSROOT%lib\win\bcc\ xcopy /y "%HB_DIR_UNICOWS%\bcc\unicows.lib" %HB_ABSROOT%lib\win\bcc\
if exist %HB_ABSROOT%lib\win\bcc\ xcopy /y "%HB_DIR_UNICOWS%\bcc\unicows_license.txt" %HB_ABSROOT%lib\win\bcc\
pushd
cd %~dp0..\..\contrib
for /F %%a in ( 'dir /b /ad' ) do (
echo %%a
xcopy /y /s %%a\*.def %HB_ABSROOT%contrib\%%a\
xcopy /y /s %%a\*.hbs %HB_ABSROOT%contrib\%%a\
xcopy /y /s %%a\*.txt %HB_ABSROOT%contrib\%%a\
xcopy /y /s %%a\tests\*.* %HB_ABSROOT%contrib\%%a\tests\
)
xcopy /y /s *.hbc %HB_ABSROOT%contrib
popd
rem ; Create unified installer
pushd