diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a43fc93bdb..4810276e0f 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,22 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-02-06 10:55 UTC+0100 Maurilio Longo (maurilio.longo@libero.it) + * config/os2/dir.cf + * use $(COMSPEC) instead of calling cmd.exe directly + * config/os2/gcc.cf + * rewrote create_library rule to work with make -jn without + breaking shell environment/command line size. + * source/rtl/hbproces.c + * included sys/waith.h in OS/2 build. I think that initial + #defines can be simplified a bit. + * config/os2/install.cf + * rewrote install_rule to work with make -jn without + breaking shell environment/command line size. + * config/lib.cf + * removed unnecessary double quotes around TOP definition + + 2009-02-06 00:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/estack.c @@ -18,7 +34,7 @@ * harbour/source/vm/estack.c * harbour/source/vm/dynsym.c * harbour/source/vm/memvars.c - % changed code used for memvars clear in MT mode - it greatly + % changed code used for memvars clear in MT mode - it greatly reduce the cost of HVM thread exit % changed code for memvars copping/sharing when thread is started it greatly reduce the time of thread creation when existing memvars diff --git a/harbour/config/lib.cf b/harbour/config/lib.cf index 985f2f0bf3..1bbf7613c0 100644 --- a/harbour/config/lib.cf +++ b/harbour/config/lib.cf @@ -23,7 +23,7 @@ ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS) first:: dirbase descend descend:: dirbase - +@$(MK) -C $(ARCH_DIR) -f $(GRANDP)Makefile 'TOP=$(GRANDP)' $(LIB_NAME) $(MK_USR) + +@$(MK) -C $(ARCH_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(LIB_NAME) $(MK_USR) vpath $(LIB_NAME) $(LIB_DIR) $(LIB_NAME) : $(ALL_OBJS) diff --git a/harbour/config/os2/dir.cf b/harbour/config/os2/dir.cf index 7f54dc220a..4caa159817 100644 --- a/harbour/config/os2/dir.cf +++ b/harbour/config/os2/dir.cf @@ -12,7 +12,7 @@ DIR_RULE =\ else DIR_MAKE = $(subst /,\,$(MK)) DIR_LIST = $(subst /,\,$(DIRS)) -DIR_RULE = CMD.EXE /C FOR %d IN ($(DIR_LIST)) DO $(DIR_MAKE) -C %d $@ +DIR_RULE = $(COMSPEC) /C FOR %d IN ($(DIR_LIST)) DO $(DIR_MAKE) -C %d $@ endif else # bash diff --git a/harbour/config/os2/gcc.cf b/harbour/config/os2/gcc.cf index 38376bddfa..386aee3fbc 100644 --- a/harbour/config/os2/gcc.cf +++ b/harbour/config/os2/gcc.cf @@ -74,25 +74,27 @@ endif # Note: The empty line directly before 'endef' HAVE TO exist! # It causes that every echo command will be separated by LF -define lib_object -echo ADDMOD $(file) >> __lib__.tmp - -endef +#define lib_object +#echo ADDMOD $(file) >> __lib__.tmp +# +#endef # We have to use a script to overcome the AR limit of max 850 characters # in commmand line define create_library IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH) echo CREATE $(LIB_DIR)/$@ > __lib__.tmp -$(foreach file, $(^F), $(lib_object)) +for %i in ( *$(OBJ_EXT) ) do @echo ADDMOD %i >> __lib__.tmp echo SAVE >> __lib__.tmp echo END >> __lib__.tmp $(AR) -M < __lib__.tmp endef + # Under OS/2 || isn't a command separator (inside a shell, that is); correct separator is & AR = ar ARFLAGS = $(A_USR) AR_RULE = $(create_library) & $(RM) __lib__.tmp include $(TOP)$(ROOT)config/rules.cf + diff --git a/harbour/config/os2/install.cf b/harbour/config/os2/install.cf index d0c7239521..0f2ead2198 100644 --- a/harbour/config/os2/install.cf +++ b/harbour/config/os2/install.cf @@ -5,14 +5,13 @@ ifeq ($(SHLVL),) # An OS/2 command shell define inst_file -ECHO $(CP) $(file) $(INSTALL_OS2_DIR) >> _nstall.cmd +$(COMSPEC) /C $(CP) $(file) $(INSTALL_OS2_DIR) endef INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS)) INSTALL_OS2_DIR = $(subst /,\,$(INSTALL_DIR)) -INSTALL_RULE = $(foreach file, $(INSTALL_LIST), $(inst_file)) \ - $(COMSPEC) /c _nstall.cmd & $(RM) _nstall.cmd +INSTALL_RULE = $(foreach file, $(INSTALL_LIST), $(inst_file)) else # bash diff --git a/harbour/source/rtl/hbproces.c b/harbour/source/rtl/hbproces.c index 86d746df7a..01362d6ea1 100644 --- a/harbour/source/rtl/hbproces.c +++ b/harbour/source/rtl/hbproces.c @@ -73,6 +73,9 @@ # include # include # include +#if defined( HB_OS_OS2 ) +# include +#endif #endif #if defined( HB_OS_OS2 ) || defined( HB_OS_UNIX ) || \