Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Przemyslaw, Przemyslaw Czerpak wrote: > It will not work. David already made such tests. > The problem is in OS2 GNU make port. It has limited total size of > resolved command for given action and when this limit is exceed > then it corrupts internal memory and usually GPFs. > See the note about using wordlist in config/common/watcom.mk. > GNU make evaluates all functions creating full list of commands > to execute before it starts to execute the 1-st command. It doesn't > mater how you create such list (which functions you will use) but > important is only total length. As long as it's not fixed in OS2 > GNU make port then you cannot create such long command but I do > not know if it's a know bug reported to GNU make authors. Maybe > we should ask about it. > But if I execute a make --dry-run it runs through all dirs spitting out correct commands. So the problem should not to be inside make code but ( maybe inside C RTL?); anyway, I've asked to the latest porter if he can help me solve this problem, let's see if we can solve it in some way without introducing more hacks. Thanks. Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach dir,$(DYNDIRLIST),$(dyn_objects)) $(DY) ... endef --- It will not work. David already made such tests. The problem is in OS2 GNU make port. It has limited total size of resolved command for given action and when this limit is exceed then it corrupts internal memory and usually GPFs. See the note about using wordlist in config/common/watcom.mk. GNU make evaluates all functions creating full list of commands to execute before it starts to execute the 1-st command. It doesn't mater how you create such list (which functions you will use) but important is only total length. As long as it's not fixed in OS2 GNU make port then you cannot create such long command but I do not know if it's a know bug reported to GNU make authors. Maybe we should ask about it. What may work is to generate a small .bat file with one 'for' line for each DYNDIRLIST item, and calling this .bat to generate generate the .tmp file. Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
On Mon, 24 Aug 2009, Szak�ts Viktor wrote: sorry, not enough, it still dies :( Thank you for the feedback. Another idea is to iterate through DYNDIRLIST variable items and pick filelist via 'for' (rather than using already assembled list by make internals) and do something like this: --- in config/os2/gcc.mk [ typed without running it ] define dyn_objects for %f in ( $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_PREFIX)$ (OBJ_EXT) ) do @$(ECHO) $(ECHOQUOTE)INPUT(%f)$(ECHOQUOTE) >> __dyn__.tmp endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach dir,$(DYNDIRLIST),$(dyn_objects)) $(DY) ... endef --- It will not work. David already made such tests. The problem is in OS2 GNU make port. It has limited total size of resolved command for given action and when this limit is exceed then it corrupts internal memory and usually GPFs. See the note about using wordlist in config/common/watcom.mk. GNU make evaluates all functions creating full list of commands to execute before it starts to execute the 1-st command. It doesn't mater how you create such list (which functions you will use) but important is only total length. As long as it's not fixed in OS2 GNU make port then you cannot create such long command but I do not know if it's a know bug reported to GNU make authors. Maybe we should ask about it. I haven't seen any fixed OS/2 related bugs in make ChangeLog since 3.81. But maybe such fix exist outside the official tree. So even OS/2 build of unstable-3.81.90 may not solve a problem, anyhow if someone has such build it could be tested. [ I didn't check make pending bug list though. ] Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
On Mon, 24 Aug 2009, Szak�ts Viktor wrote: >> sorry, not enough, it still dies :( > Thank you for the feedback. > Another idea is to iterate through DYNDIRLIST variable > items and pick filelist via 'for' (rather than using > already assembled list by make internals) and do something > like this: > --- in config/os2/gcc.mk [ typed without running it ] > define dyn_objects >for %f in ( $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_PREFIX)$(OBJ_EXT) > ) do @$(ECHO) $(ECHOQUOTE)INPUT(%f)$(ECHOQUOTE) >> __dyn__.tmp > endef > define create_dynlib >$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) >$(foreach dir,$(DYNDIRLIST),$(dyn_objects)) >$(DY) ... > endef > --- It will not work. David already made such tests. The problem is in OS2 GNU make port. It has limited total size of resolved command for given action and when this limit is exceed then it corrupts internal memory and usually GPFs. See the note about using wordlist in config/common/watcom.mk. GNU make evaluates all functions creating full list of commands to execute before it starts to execute the 1-st command. It doesn't mater how you create such list (which functions you will use) but important is only total length. As long as it's not fixed in OS2 GNU make port then you cannot create such long command but I do not know if it's a know bug reported to GNU make authors. Maybe we should ask about it. best regards, Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Maurilio, Hi Viktor, sorry, not enough, it still dies :( Thank you for the feedback. Another idea is to iterate through DYNDIRLIST variable items and pick filelist via 'for' (rather than using already assembled list by make internals) and do something like this: --- in config/os2/gcc.mk [ typed without running it ] define dyn_objects for %f in ( $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_PREFIX)$ (OBJ_EXT) ) do @$(ECHO) $(ECHOQUOTE)INPUT(%f)$(ECHOQUOTE) >> __dyn__.tmp endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach dir,$(DYNDIRLIST),$(dyn_objects)) $(DY) ... endef --- Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Viktor, sorry, not enough, it still dies :( Maurilio. Viktor Szakáts wrote: > Hi Maurilio, > > One idea to try, after I did some test on MS-DOS. > (there it run, but __dyn__.tmp was left empty at the end) > > Try using echo.exe from GNU tools. This may force calling > an external process for each iteration. Rename echo.exe > to os2-echo.exe and replace echo with os2-echo in Makefile. > > This fixed it for MS-DOS. > > Brgds, > Viktor > > On 2009.08.22., at 5:46, Maurilio Longo wrote: > >> Here we go: >> >> (E:\harbour\make)make >> make: *** [all] Segmentation fault (core dumped) >> >> or >> >> SYS0008: There is not enough memory available to process this command. >> All available memory is in use. >> make: *** wait: Interrupted system call. Stop. >> make: *** Waiting for unfinished jobs >> make: *** wait: Interrupted system call. Stop. >> >> And this one with a complete freeze of the shell. >> >> >> It works for lists which end at the 'k' letter, though... >> >> Maurilio. >> >> >> >> -- >> __ >> | | | |__| Maurilio Longo >> |_|_|_|| farmaconsult s.r.l. >> >> >> ___ >> Harbour mailing list >> Harbour@harbour-project.org >> http://lists.harbour-project.org/mailman/listinfo/harbour > > ___ > Harbour mailing list > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Maurilio, One idea to try, after I did some test on MS-DOS. (there it run, but __dyn__.tmp was left empty at the end) Try using echo.exe from GNU tools. This may force calling an external process for each iteration. Rename echo.exe to os2-echo.exe and replace echo with os2-echo in Makefile. This fixed it for MS-DOS. Brgds, Viktor On 2009.08.22., at 5:46, Maurilio Longo wrote: Here we go: (E:\harbour\make)make make: *** [all] Segmentation fault (core dumped) or SYS0008: There is not enough memory available to process this command. All available memory is in use. make: *** wait: Interrupted system call. Stop. make: *** Waiting for unfinished jobs make: *** wait: Interrupted system call. Stop. And this one with a complete freeze of the shell. It works for lists which end at the 'k' letter, though... Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Here we go: (E:\harbour\make)make make: *** [all] Segmentation fault (core dumped) or SYS0008: There is not enough memory available to process this command. All available memory is in use. make: *** wait: Interrupted system call. Stop. make: *** Waiting for unfinished jobs make: *** wait: Interrupted system call. Stop. And this one with a complete freeze of the shell. It works for lists which end at the 'k' letter, though... Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
make --dry-run makes it anyway, it is the same issue, this piece of config/os2/gcc.mk # NOTE: The empty line directly before 'endef' HAVE TO exist! define dyn_object $(COMSPEC) /C @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$ (ECHOQUOTE) __dyn__.tmp endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach file,$^,$(dyn_object)) $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -Wl,--output-def,$(DYN_DIR)/$(basename $@).def,--out-implib, $(IMP_FILE) endef DY_RULE = $(create_dynlib) #DY_RULE = $(foreach file,$^,$(dyn_object)) Works if I add $(COMSPEC) and I use the commented out DY_RULE, at least it says that this is not supported on OS/2 but give no error anymore I don't have any suggestion yet, but here is a small test Makefile, which makes it easy to experiment: --- Makefile LIST := a b c d e f g h i j k l m n o p q r s t u v w x y z define dyn_object @echo START_dyn_object @echo INPUT($(file)) >> __dyn__.tmp @echo END_dyn_object endef define create_dynlib @echo START_create_dynlib del __dyn__.tmp $(foreach file,$(LIST),$(dyn_object)) @echo END_create_dynlib endef DY_RULE = $(create_dynlib) all: $(DY_RULE) --- Run with 'make'. Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, > > Try 'os2-make -debug=j' or 'os2-make -d' > make --dry-run makes it anyway, it is the same issue, this piece of config/os2/gcc.mk # NOTE: The empty line directly before 'endef' HAVE TO exist! define dyn_object $(COMSPEC) /C @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach file,$^,$(dyn_object)) $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -Wl,--output-def,$(DYN_DIR)/$(basename $@).def,--out-implib,$(IMP_FILE) endef DY_RULE = $(create_dynlib) #DY_RULE = $(foreach file,$^,$(dyn_object)) Works if I add $(COMSPEC) and I use the commented out DY_RULE, at least it says that this is not supported on OS/2 but give no error anymore I think that each define becomes a single big command that it tries to execute calling cmd.exe which fails because the command is too big and/or not correct. I don't know, though, how to split the create_dynlib to call a new cmd.exe for each line it has to handle. Maurilio. > Brgds, > Viktor > > ___ > Harbour mailing list > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
1) Passing DYNDIRLIST_BASE to lower level make instance 2) the dynlib creation rules. To rule out 1), you may try moving DYNDIRLIST_BASE assignment lines from source/Makefile to source/dynlib/Makefile. If that works we still need to solve passing these values to mt/Makefile, which means they'll need to be copied to some global .mk file and included. Same error Okay this is good news. 2) needs some tweaking, but it's very difficult to suggest anything. I don't understand why it doesn't work now. It is passing something to a new shell, as you can see make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 it called spawn, which passed something to a new cmd.exe which refused it as 'invalid argument'. Maybe the 'environment space may be exhausted' is bogus! Is it possibile to print out the command that gets passed to the new instance of cmd.exe? Try 'os2-make -debug=j' or 'os2-make -d' Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor Szakáts wrote: > > 1) Passing DYNDIRLIST_BASE to lower level make instance > 2) the dynlib creation rules. > > To rule out 1), you may try moving DYNDIRLIST_BASE assignment > lines from source/Makefile to source/dynlib/Makefile. If that > works we still need to solve passing these values to mt/Makefile, > which means they'll need to be copied to some global .mk file > and included. > Same error > 2) needs some tweaking, but it's very difficult to suggest > anything. I don't understand why it doesn't work now. > It is passing something to a new shell, as you can see make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 it called spawn, which passed something to a new cmd.exe which refused it as 'invalid argument'. Maybe the 'environment space may be exhausted' is bogus! Is it possibile to print out the command that gets passed to the new instance of cmd.exe? Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
I've tried the os2 solution copied to dos/djgpp (changed to build plain executable) and run a build using dos COMMAND.COM shell. I thought it will fail like in os2, but it just worked. Brgds, Viktor On 2009.08.22., at 0:16, Viktor Szakáts wrote: gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg - n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg -n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp ! HB_BIN_COMPILE not specified. Automatically set to: E:/repository/ harbour/bin/ os2/gcc make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Okay, so here two things may the problem: 1) Passing DYNDIRLIST_BASE to lower level make instance 2) the dynlib creation rules. To rule out 1), you may try moving DYNDIRLIST_BASE assignment lines from source/Makefile to source/dynlib/Makefile. If that works we still need to solve passing these values to mt/Makefile, which means they'll need to be copied to some global .mk file and included. 2) needs some tweaking, but it's very difficult to suggest anything. I don't understand why it doesn't work now. Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg - n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg - n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp ! HB_BIN_COMPILE not specified. Automatically set to: E:/repository/ harbour/bin/ os2/gcc make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Okay, so here two things may the problem: 1) Passing DYNDIRLIST_BASE to lower level make instance 2) the dynlib creation rules. To rule out 1), you may try moving DYNDIRLIST_BASE assignment lines from source/Makefile to source/dynlib/Makefile. If that works we still need to solve passing these values to mt/Makefile, which means they'll need to be copied to some global .mk file and included. 2) needs some tweaking, but it's very difficult to suggest anything. I don't understand why it doesn't work now. Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
I've made a small typo, it should be okay after 12257. 'HB_HOST_ARCH:' should show 'os2 (x86)' instead of wrong 'os2'. Brgds, Viktor On 2009.08.22., at 11:52, Maurilio Longo wrote: Viktor Szakáts wrote: Also the __PLATFORM__ issue didn't get fixed? which Harbour revision is this? 12256 Can you post first 10 lines of log output? (E:\repository\harbour)make ! MAKE: make 3.81 D:\OS2\CMD.EXE ! HB_BIN_INSTALL: e:\harbour\bin ! HB_LIB_INSTALL: e:\harbour\lib ! HB_INC_INSTALL: e:\harbour\include ! HB_DOC_INSTALL: e:\harbour\doc ! HB_HOST_ARCH: os2 HB_SHELL: os2 ! HB_ARCHITECTURE: os2 (x86) ! HB_COMPILER: gcc ! HB_BIN_COMPILE not specified. Automatically set to: E:/harbour/bin ! HB_INSTALL_PREFIX automatically set to: E:\repository\harbour make[2]: Nothing to be done for `all'. make[1]: Nothing to be done for `all'. gcc -I. -I../../../../../include -Wall -W -O3 -oexpropt1.o - c ../../../expro pt1.c gcc -I. -I../../../../../include -Wall -W -O3 -oexpropt2.o - c ../../../expro pt2.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbffind.o - c ../../../hbffin d.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbfopen.o - c ../../../hbfope n.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbfsapi.o - c ../../../hbfsap Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Maurilio, Thank you very much for your tests. I'll commit this modification ASAP. It seems so that the uploaded os2-cp.exe requires forward slashes. Please tell if I get to the wrong conclusion, I'd like to update comment in .mk file. The undef/-D issue should be fixed by latest commit. Brgds, Viktor On 2009.08.22., at 11:45, Maurilio Longo wrote: Viktor, a part from the fact that the building stops when it tries to create the first .dll, using os2-cp and this code inside instsh.mk ifeq ($(HB_SHELL),os2) define inst_file_all -...@$(MDP) $(INSTALL_DIR) $(foreach file,$(INSTALL_FILES),$(inst_file)) endef # We have to use script to overcome the DOS limit of max 128 characters # NOTE: The empty line directly before 'endef' HAVE TO exist! # It causes that every command will be separated by LF define inst_file -...@$(CP) $(file) $(INSTALL_DIR) endef INSTALL_RULE := $(inst_file_all) endif I can do a make install or make -j4 install and it does not freeze anymore and it does indeed copy include, doc, lib (those made) and bin (harbour.exe and hbpp.exe). Maurilio. Viktor Szakáts wrote: Okay that's about expected. I'll try to think about something. Please test the copy stuff until then, it'd be great to close that issue. Brgds, Viktor On 2009.08.22., at 11:27, Maurilio Longo wrote: Viktor, no, not enough environment space :( gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg -n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg -n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp ! HB_BIN_COMPILE not specified. Automatically set to: E:/repository/harbour/bin/ os2/gcc make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Maurilio. Viktor Szakáts wrote: Viktor, can't you use a *.o instead of listing every single module needed? Could be, but this would need changing upstream logic. This could be good if other linkers would also support such parameter but it's not very usual. Also this feature may also depend on the shell type used and we want to be independent from it. Let's first try with methods used on other gcc platforms. I'll first commit the mingw method. If this doesn't work, we can try the Linux one. Brgds, Viktor Maurilio. Viktor Szakáts wrote: Hi Maurilio, Yes, I didn't implement os2/gcc dll support yet. (I fear of all the os2 shell problems here, we have to create a quite large >32KB filelist here and pass it to gcc. I'll make an attempt though) Anyhow this case should be handled more gracefully. Brgds, Viktor On 2009.08.22., at 9:53, Maurilio Longo wrote: Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbou
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor Szakáts wrote: > > Also the __PLATFORM__ issue didn't get fixed? which Harbour revision > is this? > 12256 > Can you post first 10 lines of log output? > (E:\repository\harbour)make ! MAKE: make 3.81 D:\OS2\CMD.EXE ! HB_BIN_INSTALL: e:\harbour\bin ! HB_LIB_INSTALL: e:\harbour\lib ! HB_INC_INSTALL: e:\harbour\include ! HB_DOC_INSTALL: e:\harbour\doc ! HB_HOST_ARCH: os2 HB_SHELL: os2 ! HB_ARCHITECTURE: os2 (x86) ! HB_COMPILER: gcc ! HB_BIN_COMPILE not specified. Automatically set to: E:/harbour/bin ! HB_INSTALL_PREFIX automatically set to: E:\repository\harbour make[2]: Nothing to be done for `all'. make[1]: Nothing to be done for `all'. gcc -I. -I../../../../../include -Wall -W -O3 -oexpropt1.o -c ../../../expro pt1.c gcc -I. -I../../../../../include -Wall -W -O3 -oexpropt2.o -c ../../../expro pt2.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbffind.o -c ../../../hbffin d.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbfopen.o -c ../../../hbfope n.c gcc -I. -I../../../../../include -Wall -W -O3 -ohbfsapi.o -c ../../../hbfsap Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, a part from the fact that the building stops when it tries to create the first .dll, using os2-cp and this code inside instsh.mk ifeq ($(HB_SHELL),os2) define inst_file_all -...@$(MDP) $(INSTALL_DIR) $(foreach file,$(INSTALL_FILES),$(inst_file)) endef # We have to use script to overcome the DOS limit of max 128 characters # NOTE: The empty line directly before 'endef' HAVE TO exist! # It causes that every command will be separated by LF define inst_file -...@$(CP) $(file) $(INSTALL_DIR) endef INSTALL_RULE := $(inst_file_all) endif I can do a make install or make -j4 install and it does not freeze anymore and it does indeed copy include, doc, lib (those made) and bin (harbour.exe and hbpp.exe). Maurilio. Viktor Szakáts wrote: > Okay that's about expected. I'll try to think about something. > > Please test the copy stuff until then, it'd be great to close > that issue. > > Brgds, > Viktor > > On 2009.08.22., at 11:27, Maurilio Longo wrote: > >> Viktor, >> >> no, not enough environment space :( >> >> gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c >> tbrwtext.c >> E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg -n1 >> -i../../.. >> /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 >> -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c >> E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg >> -n1 -i../.. >> /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 >> -D__PLATFORM__OS2 >> >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c >> dbgbrwsr.c >> for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp >> ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp >> ! HB_BIN_COMPILE not specified. Automatically set to: >> E:/repository/harbour/bin/ >> os2/gcc >> make[3]: spawnvpe: environment space might be exhausted >> make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument >> make[3]: spawn: Invalid argument >> make[2]: *** [descend] Error 2 >> make[1]: *** [dynlib] Error 2 >> make: *** [source] Error 2 >> >> Maurilio. >> >> >> Viktor Szakáts wrote: Viktor, can't you use a *.o instead of listing every single module needed? >>> >>> Could be, but this would need changing upstream logic. >>> This could be good if other linkers would also support >>> such parameter but it's not very usual. Also this >>> feature may also depend on the shell type used and we >>> want to be independent from it. >>> >>> Let's first try with methods used on other gcc platforms. >>> >>> I'll first commit the mingw method. If this doesn't work, >>> we can try the Linux one. >>> >>> Brgds, >>> Viktor >>> >>> Maurilio. Viktor Szakáts wrote: > Hi Maurilio, > > Yes, I didn't implement os2/gcc dll support yet. > > (I fear of all the os2 shell problems here, we have > to create a quite large >32KB filelist here and pass > it to gcc. I'll make an attempt though) > > Anyhow this case should be handled more gracefully. > > Brgds, > Viktor > > On 2009.08.22., at 9:53, Maurilio Longo wrote: > >> Viktor, >> >> it dies here >> >> E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c >> debugger.c >> E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c >> dbgtarr.c >> E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c >> dbgthsh.c >> E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c >> dbgtobj.c >> E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c >> tbrwtext.c >> E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 >> -i../../../../../include -q0 >> -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c >> dbgwa.c >> E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg - n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg - n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 Also the __PLATFORM__ issue didn't get fixed? which Harbour revision is this? Can you post first 10 lines of log output? Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Okay that's about expected. I'll try to think about something. Please test the copy stuff until then, it'd be great to close that issue. Brgds, Viktor On 2009.08.22., at 11:27, Maurilio Longo wrote: Viktor, no, not enough environment space :( gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg - n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg - n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 - D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp ! HB_BIN_COMPILE not specified. Automatically set to: E:/repository/ harbour/bin/ os2/gcc make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Maurilio. Viktor Szakáts wrote: Viktor, can't you use a *.o instead of listing every single module needed? Could be, but this would need changing upstream logic. This could be good if other linkers would also support such parameter but it's not very usual. Also this feature may also depend on the shell type used and we want to be independent from it. Let's first try with methods used on other gcc platforms. I'll first commit the mingw method. If this doesn't work, we can try the Linux one. Brgds, Viktor Maurilio. Viktor Szakáts wrote: Hi Maurilio, Yes, I didn't implement os2/gcc dll support yet. (I fear of all the os2 shell problems here, we have to create a quite large >32KB filelist here and pass it to gcc. I'll make an attempt though) Anyhow this case should be handled more gracefully. Brgds, Viktor On 2009.08.22., at 9:53, Maurilio Longo wrote: Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Can it be that OS/2 GCC is not ready yet? Best regards. Maurilio. vszak...@users.sourceforge.net wrote: Revision: 12244 http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev Author: vszakats Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) Log Message: --- 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/vm/maindllh.c * source/vm/Makefile + Added support for os2 .dll. Please review. * config/os2/watcom.mk + Added os2 .dll generation for watcom. Now it generates OK. * source/Makefile * config/lib.mk + Added support for os2 and some level of *nix support. * INSTALL * Minor update to a few option description. * utils/hbmk2/hbmk2.prg + Added preliminary/experimental/untested OS/2 -shared (.dll) support for watcom targets. Modified Paths: -- trunk/harbour/ChangeLog trunk/harbour/INSTALL trunk/harbour/config/lib.mk trunk/harbour/config/os2/watcom.mk trunk/harbour/source/Makefile trunk/harbour/source/vm/Makefile trunk/harbour/s
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, no, not enough environment space :( gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgwa.prg -n1 -i../../.. /../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/repository/harbour/bin/os2/gcc/harbour.exe ../../../dbgbrwsr.prg -n1 -i../.. /../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp ! HB_BIN_COMPILE not specified. Automatically set to: E:/repository/harbour/bin/ os2/gcc make[3]: spawnvpe: environment space might be exhausted make[3]: execvp: D:\OS2\CMD.EXE: Invalid argument make[3]: spawn: Invalid argument make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Maurilio. Viktor Szakáts wrote: >> Viktor, >> >> can't you use a *.o instead of listing every single module needed? > > Could be, but this would need changing upstream logic. > This could be good if other linkers would also support > such parameter but it's not very usual. Also this > feature may also depend on the shell type used and we > want to be independent from it. > > Let's first try with methods used on other gcc platforms. > > I'll first commit the mingw method. If this doesn't work, > we can try the Linux one. > > Brgds, > Viktor > > >> >> Maurilio. >> >> >> Viktor Szakáts wrote: >>> Hi Maurilio, >>> >>> Yes, I didn't implement os2/gcc dll support yet. >>> >>> (I fear of all the os2 shell problems here, we have >>> to create a quite large >32KB filelist here and pass >>> it to gcc. I'll make an attempt though) >>> >>> Anyhow this case should be handled more gracefully. >>> >>> Brgds, >>> Viktor >>> >>> On 2009.08.22., at 9:53, Maurilio Longo wrote: >>> Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Can it be that OS/2 GCC is not ready yet? Best regards. Maurilio. vszak...@users.sourceforge.net wrote: > Revision: 12244 > > http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev > > > Author: vszakats > Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) > > Log Message: > --- > 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) > * source/vm/maindllh.c > * source/vm/Makefile > + Added support for os2 .dll. Please review. > > * config/os2/watcom.mk > + Added os2 .dll generation for watcom. > Now it generates OK. > > * source/Makefile > * config/lib.mk > + Added support for os2 and some level of *nix support. > > * INSTALL > * Minor update to a few option description. > > * utils/hbmk2/hbmk2.prg > + Added prelimin
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, can't you use a *.o instead of listing every single module needed? Could be, but this would need changing upstream logic. This could be good if other linkers would also support such parameter but it's not very usual. Also this feature may also depend on the shell type used and we want to be independent from it. Let's first try with methods used on other gcc platforms. I'll first commit the mingw method. If this doesn't work, we can try the Linux one. Brgds, Viktor Maurilio. Viktor Szakáts wrote: Hi Maurilio, Yes, I didn't implement os2/gcc dll support yet. (I fear of all the os2 shell problems here, we have to create a quite large >32KB filelist here and pass it to gcc. I'll make an attempt though) Anyhow this case should be handled more gracefully. Brgds, Viktor On 2009.08.22., at 9:53, Maurilio Longo wrote: Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Can it be that OS/2 GCC is not ready yet? Best regards. Maurilio. vszak...@users.sourceforge.net wrote: Revision: 12244 http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev Author: vszakats Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) Log Message: --- 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/vm/maindllh.c * source/vm/Makefile + Added support for os2 .dll. Please review. * config/os2/watcom.mk + Added os2 .dll generation for watcom. Now it generates OK. * source/Makefile * config/lib.mk + Added support for os2 and some level of *nix support. * INSTALL * Minor update to a few option description. * utils/hbmk2/hbmk2.prg + Added preliminary/experimental/untested OS/2 -shared (.dll) support for watcom targets. Modified Paths: -- trunk/harbour/ChangeLog trunk/harbour/INSTALL trunk/harbour/config/lib.mk trunk/harbour/config/os2/watcom.mk trunk/harbour/source/Makefile trunk/harbour/source/vm/Makefile trunk/harbour/source/vm/maindllh.c trunk/harbour/utils/hbmk2/hbmk2.prg This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, can't you use a *.o instead of listing every single module needed? Maurilio. Viktor Szakáts wrote: > Hi Maurilio, > > Yes, I didn't implement os2/gcc dll support yet. > > (I fear of all the os2 shell problems here, we have > to create a quite large >32KB filelist here and pass > it to gcc. I'll make an attempt though) > > Anyhow this case should be handled more gracefully. > > Brgds, > Viktor > > On 2009.08.22., at 9:53, Maurilio Longo wrote: > >> Viktor, >> >> it dies here >> >> E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c >> debugger.c >> E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c >> dbgtarr.c >> E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c >> dbgthsh.c >> E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 >> -i../../../../../include -q >> 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c >> dbgtobj.c >> E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c >> tbrwtext.c >> E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 >> -i../../../../../include -q0 >> -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c >> E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 >> -i../../../../../include - >> q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 >> gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c >> dbgbrwsr.c >> for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp >> ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp >> make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. >> make[2]: *** [descend] Error 2 >> make[1]: *** [dynlib] Error 2 >> make: *** [source] Error 2 >> >> Can it be that OS/2 GCC is not ready yet? >> >> >> Best regards. >> >> Maurilio. >> >> >> >> vszak...@users.sourceforge.net wrote: >>> Revision: 12244 >>> >>> http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev >>> >>> Author: vszakats >>> Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) >>> >>> Log Message: >>> --- >>> 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) >>> * source/vm/maindllh.c >>> * source/vm/Makefile >>>+ Added support for os2 .dll. Please review. >>> >>> * config/os2/watcom.mk >>>+ Added os2 .dll generation for watcom. >>> Now it generates OK. >>> >>> * source/Makefile >>> * config/lib.mk >>>+ Added support for os2 and some level of *nix support. >>> >>> * INSTALL >>>* Minor update to a few option description. >>> >>> * utils/hbmk2/hbmk2.prg >>>+ Added preliminary/experimental/untested OS/2 -shared (.dll) >>> support for watcom targets. >>> >>> Modified Paths: >>> -- >>>trunk/harbour/ChangeLog >>>trunk/harbour/INSTALL >>>trunk/harbour/config/lib.mk >>>trunk/harbour/config/os2/watcom.mk >>>trunk/harbour/source/Makefile >>>trunk/harbour/source/vm/Makefile >>>trunk/harbour/source/vm/maindllh.c >>>trunk/harbour/utils/hbmk2/hbmk2.prg >>> >>> >>> This was sent by the SourceForge.net collaborative development >>> platform, the world's largest Open Source development site. >>> ___ >>> Harbour mailing list >>> Harbour@harbour-project.org >>> http://lists.harbour-project.org/mailman/listinfo/harbour >>> >> >> -- >> __ >> | | | |__| Maurilio Longo >> |_|_|_|| farmaconsult s.r.l. >> >> >> ___ >> Harbour mailing list >> Harbour@harbour-project.org >> http://lists.harbour-project.org/mailman/listinfo/harbour > > ___ > Harbour mailing list > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Hi Maurilio, Yes, I didn't implement os2/gcc dll support yet. (I fear of all the os2 shell problems here, we have to create a quite large >32KB filelist here and pass it to gcc. I'll make an attempt though) Anyhow this case should be handled more gracefully. Brgds, Viktor On 2009.08.22., at 9:53, Maurilio Longo wrote: Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 - i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 - i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 - i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 - i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 - i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../ include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 - i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Can it be that OS/2 GCC is not ready yet? Best regards. Maurilio. vszak...@users.sourceforge.net wrote: Revision: 12244 http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev Author: vszakats Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) Log Message: --- 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/vm/maindllh.c * source/vm/Makefile + Added support for os2 .dll. Please review. * config/os2/watcom.mk + Added os2 .dll generation for watcom. Now it generates OK. * source/Makefile * config/lib.mk + Added support for os2 and some level of *nix support. * INSTALL * Minor update to a few option description. * utils/hbmk2/hbmk2.prg + Added preliminary/experimental/untested OS/2 -shared (.dll) support for watcom targets. Modified Paths: -- trunk/harbour/ChangeLog trunk/harbour/INSTALL trunk/harbour/config/lib.mk trunk/harbour/config/os2/watcom.mk trunk/harbour/source/Makefile trunk/harbour/source/vm/Makefile trunk/harbour/source/vm/maindllh.c trunk/harbour/utils/hbmk2/hbmk2.prg This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[12244] trunk/harbour
Viktor, it dies here E:/harbour/bin/harbour.exe ../../../debugger.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odebugger.o -c debugger.c E:/harbour/bin/harbour.exe ../../../dbgtarr.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtarr.o -c dbgtarr.c E:/harbour/bin/harbour.exe ../../../dbgthsh.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgthsh.o -c dbgthsh.c E:/harbour/bin/harbour.exe ../../../dbgtobj.prg -n1 -i../../../../../include -q 0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgtobj.o -c dbgtobj.c E:/harbour/bin/harbour.exe ../../../tbrwtext.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -otbrwtext.o -c tbrwtext.c E:/harbour/bin/harbour.exe ../../../dbgwa.prg -n1 -i../../../../../include -q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgwa.o -c dbgwa.c E:/harbour/bin/harbour.exe ../../../dbgbrwsr.prg -n1 -i../../../../../include - q0 -w3 -es2 -kmo -l -undef:__PLATFORM__OS2 -D__PLATFORM__OS2 gcc -I. -I../../../../../include -Wall -W -O3 -odbgbrwsr.o -c dbgbrwsr.c for %i in ( *.o ) do @echo ADDMOD %i >> __lib__.tmp ar -M < __lib__.tmp & ..\..\..\..\..\config\os2-rm -f __lib__.tmp make[3]: *** No rule to make target `harbour-20-os2.dll'. Stop. make[2]: *** [descend] Error 2 make[1]: *** [dynlib] Error 2 make: *** [source] Error 2 Can it be that OS/2 GCC is not ready yet? Best regards. Maurilio. vszak...@users.sourceforge.net wrote: > Revision: 12244 > > http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12244&view=rev > Author: vszakats > Date: 2009-08-21 19:00:06 + (Fri, 21 Aug 2009) > > Log Message: > --- > 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) > * source/vm/maindllh.c > * source/vm/Makefile > + Added support for os2 .dll. Please review. > > * config/os2/watcom.mk > + Added os2 .dll generation for watcom. > Now it generates OK. > > * source/Makefile > * config/lib.mk > + Added support for os2 and some level of *nix support. > > * INSTALL > * Minor update to a few option description. > > * utils/hbmk2/hbmk2.prg > + Added preliminary/experimental/untested OS/2 -shared (.dll) > support for watcom targets. > > Modified Paths: > -- > trunk/harbour/ChangeLog > trunk/harbour/INSTALL > trunk/harbour/config/lib.mk > trunk/harbour/config/os2/watcom.mk > trunk/harbour/source/Makefile > trunk/harbour/source/vm/Makefile > trunk/harbour/source/vm/maindllh.c > trunk/harbour/utils/hbmk2/hbmk2.prg > > > This was sent by the SourceForge.net collaborative development platform, the > world's largest Open Source development site. > ___ > Harbour mailing list > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour