diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 29238836a8..31c77165bd 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,17 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2008-11-11 03:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * make_b32.mak + * make_vc.mak + * make_gcc.mak + * common.mak + + Added generation of hbmainstd and hbmainwin libs. + + * bin/hbmk.bat + + Changed to use above libs. This also means that '-shared' + can now be used in Harbour binary distributions, too. + 2008-11-11 03:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/examples/rl + contrib/examples/rl/Makefile @@ -72,7 +83,7 @@ * bin/hbmk.bat + Added '-shared' option. - ; TOFIX: '-shared' won't work in binary installations. + ; TOFIX: '-shared' won't work in binary installations. [DONE] ; TOFIX: '-shared' cannot create MT apps. ; TOFIX: '-shared' only works for BCC32 yet. [DONE] diff --git a/harbour/bin/hbmk.bat b/harbour/bin/hbmk.bat index e13a27ad09..5cb65c046a 100644 --- a/harbour/bin/hbmk.bat +++ b/harbour/bin/hbmk.bat @@ -203,7 +203,7 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt if "%_HB_GUI%" == "yes" set _HB_USR_C=-tW if not "%_HB_SHARED%" == "yes" bcc32 -q -tWM -O2 -OS -Ov -Oi -Oc -d %C_USR% %_HB_USR_C% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %_HB_PRG_NAME%.c %HB_USER_LIBS% hbcpage.lib hbdebug.lib %_HBVM_LIB%.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib - if "%_HB_SHARED%" == "yes" bcc32 -q -tWM -O2 -OS -Ov -Oi -Oc -d %C_USR% %_HB_USR_C% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %_HB_PRG_NAME%.c ..\source\vm\mainstd.c ..\source\vm\mainwin.c %HB_USER_LIBS% harbour-11-b32.lib + if "%_HB_SHARED%" == "yes" bcc32 -q -tWM -O2 -OS -Ov -Oi -Oc -d %C_USR% %_HB_USR_C% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %_HB_PRG_NAME%.c %HB_USER_LIBS% harbour-11-b32.lib hbmainstd.lib hbmainwin.lib hbcommon.lib goto CLEANUP @@ -215,7 +215,7 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt if "%_HB_GUI%" == "yes" set _HB_USR_L=/subsystem:windows if not "%_HB_SHARED%" == "yes" cl -nologo -W3 %C_USR% -I%HB_INC_INSTALL% %_HB_PRG_NAME%.c /link /libpath:%HB_LIB_INSTALL% %L_USR% %_HB_USR_L% %HB_USER_LIBS% hbcpage.lib hbdebug.lib %_HBVM_LIB%.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib wsock32.lib advapi32.lib gdi32.lib - if "%_HB_SHARED%" == "yes" cl -nologo -W3 %C_USR% -I%HB_INC_INSTALL% %_HB_PRG_NAME%.c ..\source\vm\mainstd.c ..\source\vm\mainwin.c /link /libpath:%HB_LIB_INSTALL% %L_USR% %_HB_USR_L% %HB_USER_LIBS% harbour-11-vc.lib user32.lib wsock32.lib advapi32.lib gdi32.lib + if "%_HB_SHARED%" == "yes" cl -nologo -W3 %C_USR% -I%HB_INC_INSTALL% %_HB_PRG_NAME%.c /link /libpath:%HB_LIB_INSTALL% %L_USR% %_HB_USR_L% %HB_USER_LIBS% harbour-11-vc.lib hbmainstd.lib hbmainwin.lib hbcommon.lib user32.lib wsock32.lib advapi32.lib gdi32.lib goto CLEANUP :A_WIN_MSVC_NOT @@ -274,8 +274,6 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt if exist %_HB_PRG_NAME%.c del %_HB_PRG_NAME%.c if exist %_HB_PRG_NAME%.o del %_HB_PRG_NAME%.o if exist %_HB_PRG_NAME%.obj del %_HB_PRG_NAME%.obj - if exist mainstd.obj del mainstd.obj - if exist mainwin.obj del mainwin.obj rem Borland stuff if exist %_HB_PRG_NAME%.tds del %_HB_PRG_NAME%.tds diff --git a/harbour/common.mak b/harbour/common.mak index 4e1733796a..31db26dfce 100644 --- a/harbour/common.mak +++ b/harbour/common.mak @@ -228,6 +228,8 @@ ALL_SRC_DIRS = $(ALL_SRC_DIRS_TMP: =) # Macros to define our library and executable names # +HBMAINSTD_LIB= $(LIB_DIR)\$(LIBPREF)hbmainstd$(LIBEXT) +HBMAINWIN_LIB= $(LIB_DIR)\$(LIBPREF)hbmainwin$(LIBEXT) COMMON_LIB = $(LIB_DIR)\$(LIBPREF)hbcommon$(LIBEXT) COMPILER_LIB = $(LIB_DIR)\$(LIBPREF)hbcplr$(LIBEXT) PP_LIB = $(LIB_DIR)\$(LIBPREF)hbpp$(LIBEXT) @@ -443,6 +445,12 @@ VM_COMMON_LIB_OBJS = \ $(OBJ_DIR)\vm$(OBJEXT) \ $(OBJ_DIR)\harbinit$(OBJEXT) \ +HBMAINSTD_LIB_OBJS = \ + $(OBJ_DIR)\mainstd$(OBJEXT) \ + +HBMAINWIN_LIB_OBJS = \ + $(OBJ_DIR)\mainwin$(OBJEXT) + # Specific VM Objects for building STATIC library VM_STATIC_LIB_OBJS = \ $(OBJ_DIR)\mainstd$(OBJEXT) \ @@ -1223,6 +1231,8 @@ DISABLED_SHARED_MODULES= \ # HB_BUILD_TARGETS = \ + $(HBMAINSTD_LIB) \ + $(HBMAINWIN_LIB) \ $(COMMON_LIB) \ $(HBPP_EXE) \ $(PP_LIB) \ diff --git a/harbour/make_b32.mak b/harbour/make_b32.mak index 3addf2c3f4..e7e0db8202 100644 --- a/harbour/make_b32.mak +++ b/harbour/make_b32.mak @@ -212,6 +212,20 @@ $(HB_DEST_DIRS) $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL): #********************************************************** # LIBRARY Targets BUILD rules #********************************************************** +$(HBMAINSTD_LIB): $(HBMAINSTD_LIB_OBJS) + @if exist "$(HBMAINSTD_LIB)" $(DEL) "$(HBMAINSTD_LIB)" > NUL + $(MKLIB) "$(HBMAINSTD_LIB)" $(ARFLAGS) @&&! ++$(**: = &^ ++) +! +#********************************************************** +$(HBMAINWIN_LIB): $(HBMAINWIN_LIB_OBJS) + @if exist "$(HBMAINWIN_LIB)" $(DEL) "$(HBMAINWIN_LIB)" > NUL + $(MKLIB) "$(HBMAINWIN_LIB)" $(ARFLAGS) @&&! ++$(**: = &^ ++) +! +#********************************************************** $(COMMON_LIB) : $(COMMON_LIB_OBJS) @if exist "$(COMMON_LIB)" $(DEL) "$(COMMON_LIB)" > NUL $(MKLIB) "$(COMMON_LIB)" $(ARFLAGS) @&&! diff --git a/harbour/make_gcc.mak b/harbour/make_gcc.mak index bc7670eacc..8421394d5f 100644 --- a/harbour/make_gcc.mak +++ b/harbour/make_gcc.mak @@ -282,6 +282,12 @@ $(HB_DEST_DIRS) $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL): #********************************************************** # LIBRARY Targets BUILD rules #********************************************************** +$(HBMAINSTD_LIB): $(HBMAINSTD_LIB_OBJS) + $(MKLIB) $(ARFLAGS) $@ $^ +#********************************************************** +$(HBMAINWIN_LIB): $(HBMAINWIN_LIB_OBJS) + $(MKLIB) $(ARFLAGS) $@ $^ +#********************************************************** $(COMMON_LIB) : $(COMMON_LIB_OBJS) $(MKLIB) $(ARFLAGS) $@ $^ #********************************************************** diff --git a/harbour/make_vc.mak b/harbour/make_vc.mak index 245ed86355..80f89cf58c 100644 --- a/harbour/make_vc.mak +++ b/harbour/make_vc.mak @@ -711,6 +711,12 @@ $(HB_DEST_DIRS) $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL): #********************************************************** # LIBRARY Targets BUILD rules #********************************************************** +$(HBMAINSTD_LIB): $(HBMAINSTD_LIB_OBJS) + $(MKLIB) /nologo /out:$@ $** +#********************************************************** +$(HBMAINWIN_LIB): $(HBMAINWIN_LIB_OBJS) + $(MKLIB) /nologo /out:$@ $** +#********************************************************** $(COMMON_LIB) : $(COMMON_LIB_OBJS) $(MKLIB) /nologo /out:$@ $** #**********************************************************