Nove funkcije #14548
Zatvorenbuild harbour mingw32
100%
Opis
build native harbour za win32
Fajlovi
Povezani tiketi 4 (0 otvoreno — 4 zatvorenih)
Izmjenjeno od Ernad Husremović prije više od 16 godina
For gcc on Win95/WinNT with the Mingw32 library:
harbour/harbour/doc/gmake.txt
HB_ARCHITECTURE w32 HB_COMPILER mingw32 HB_GT_LIB gtwin
Izmjenjeno od Ernad Husremović prije više od 16 godina
Izmjenjeno od Ernad Husremović prije više od 16 godina
make
.. gcc -Wall -W -ohbpp.exe hbpp.o -mno-cygwin -L../../../../lib/w32/mingw32 -Wl,--start-group -lhbcommon -Wl,--end-group -luser32 -lwinspool -lgdi32 -lcomctl3 2 -lcomdlg32 -lole32 -loleaut32 -luuid -lmpr -lwsock32 -lws2_32 -lmapi32 ./hbpp.exe ../../../../include/hbstdgen.ch -opptable.c -q -c -v../../../../include/hbverbld.h Harbour Preprocessor 1.0.0 Copyright 1999-2008, http://www.harbour-project.org make[3]: *** [pptable.c] Error 1 rm hbpp.o make[3]: Leaving directory `/c/Documents and Settings/hernad/devel/git/harbour/harbour/source/pp/w32/mingw32' make[2]: *** [descend] Error 2
Izmjenjeno od Ernad Husremović prije više od 16 godina
$ ./hbpp.exe ../../../../include/hbstdgen.ch -opptable.c -c -v../../../../include/hbverbld.h
Harbour Preprocessor 1.0.0 Copyright 1999-2008, http://www.harbour-project.org Cannot find valid $Id end log entry in the ../../../../ChangeLog file.
Izmjenjeno od Ernad Husremović prije više od 16 godina
interesantno
na archive/hg/harbour ovako stoji u change log-u
/* * $Id: ChangeLog 8365 2008-04-23 07:47:02Z druzus $ */
Izmjenjeno od Ernad Husremović prije više od 16 godina
ručno sam stavio
/* * $Id: ChangeLog 9999 2008-06-15 00:00:00 hernad $ */
Izmjenjeno od Ernad Husremović prije više od 16 godina
nakon toga prolazi build
$ ./hbpp.exe ../../../../include/hbstdgen.ch -opptable.c -c -v../../../../include/hbverbld.h
Harbour Preprocessor 1.0.0 Copyright 1999-2008, http://www.harbour-project.org 600
Izmjenjeno od Ernad Husremović prije više od 16 godina
If you issue a "make install", it will try to install your doc, header,
executable and library files into directories given by
HB_BIN_INSTALL HB_DOC_INSTALL HB_LIB_INSTALL HB_INC_INSTALL
Izmjenjeno od Ernad Husremović prije više od 16 godina
hernad@vb-wk2 ~/devel/git/harbour/harbour/doc
$ echo $PATH
/c/GnuWin32/bin:/c/MinGW/bin/:/c/GTK/bin:..itd itd..
Izmjenjeno od Ernad Husremović prije više od 16 godina
hernad@vb-wk2 ~/devel/git/harbour/harbour/doc
$ mkdir /usr/harbour $ mkdir /usr/harbour/bin $ mkdir /usr/harbour/lib $ mkdir /usr/harbour/include $ export HB_BIN_INSTALL=/usr/harbour/bin $ export HB_LIB_INSTALL=/usr/harbour/lib $ export HB_INC_INSTALL=/usr/harbour/include
Izmjenjeno od Ernad Husremović prije više od 16 godina
mak install
... Generating /usr/harbour/bin/hb-build... Creating links... Making harbour.dll... c:\MinGW\bin\ar.exe: /usr/harbour/lib/libhbvm.a: No such file or directory rm: cannot remove directory `/tmp/hb-mkslib-2316/libhbvm.a': Device or resource busy make[1]: Entering directory `/c/Documents and Settings/hernad/devel/git/harbour/harbour/source/vm' gcc -I. -I../../include -mno-cygwin -Wall -W -c fm.c -ofm.o make[1]: Leaving directory `/c/Documents and Settings/hernad/devel/git/harbour/harbour/source/vm' c:\MinGW\bin\ar.exe: /usr/harbour/lib/libfm.a: No such file or directory
Izmjenjeno od Ernad Husremović prije više od 16 godina
pokušao sa mingw32-make install
! Installing ../../lib/w32/mingw32/libhbtip.a on /usr/harbour/lib mingw32-make[2]: Leaving directory `c:/Documents and Settings/hernad/devel/git/h arbour/harbour/contrib/hbtip' mingw32-make[1]: Leaving directory `c:/Documents and Settings/hernad/devel/git/h arbour/harbour/contrib' ./bin/postinst.sh sh: /c/Documents: No such file or directory mingw32-make: *** [install] Error 127
Izmjenjeno od Ernad Husremović prije više od 16 godina
hernad@vb-wk2 ~/devel/git/fmk
$ ln -s ../harbour/harbour harbour
Izmjenjeno od Ernad Husremović prije više od 16 godina
mingw traži ovu sintaksu:
$ export HB_INC_COMPILE=c:/cygwin/usr/harbour/include
Izmjenjeno od Ernad Husremović prije više od 16 godina
hernad@vb-wk2 ~/devel/git/fmk/fmk_lib/fmk_common
$ make
make[1]: Entering directory `/c/Documents and Settings/hernad/devel/git/fmk/fmk_lib/fmk_common/w32/mingw32' ar cr ../../../../harbour/lib/w32/mingw32/libfmk_common.a file_io.o os_util.o konvzn.o ini.o params.o print.o util.o dummy.o array_util.o string_util.o report_common.o report_common_2.o rtf.o report_fmk_proizvoljni.o time_util.o fmk_util.o log.o && ranlib ../../../../harbour/lib/w32/mingw32/libfmk_common.a || rm -f .. /../../../harbour/lib/w32/mingw32/libfmk_common.a c:\MinGW\bin\ar.exe: ../../../../harbour/lib/w32/mingw32/libfmk_common.a: No such file or directory make[1]: Leaving directory `/c/Documents and Settings/hernad/devel/git/fmk/fmk_l ib/fmk_common/w32/mingw32'
Izmjenjeno od Ernad Husremović prije više od 16 godina
problem je što mingw ar ne zna otvoriti fajlove koji su simbolički linkovi a ../../../../harbour je simbolički link
hernad@vb-wk2 ~/devel/git/fmk/fmk_lib/fmk_common/w32/mingw32
$ ar cr ../../../../harbour/lib/libfmk_common.a rtf.o
c:\MinGW\bin\ar.exe: ../../../../harbour/lib/libfmk_common.a: No such file or directory
Izmjenjeno od Ernad Husremović prije više od 16 godina
$ set | grep HB
HB_ARCHITECTURE=w32 HB_BIN_INSTALL=c:/cygwin/usr/harbour/bin HB_COMPILER=mingw32 HB_GT_LIB=gtwin HB_INC_COMPILE=c:/cygwin/usr/harbour/include HB_INC_INSTALL=c:/cygwin/usr/harbour/include HB_LIB_INSTALL=c:/cygwin/usr/harbour/lib _=HB_LIB_INSTALL
Izmjenjeno od Ernad Husremović prije više od 16 godina
dodaću "pravi" harbour repos u fmk.git, pa neću imati problem simboličkog linka
$ git submodule add git@git.bring.out.ba:harbour.git
Initialized empty Git repository in c:/Documents and Settings/hernad/devel/git/fmk/harbour/.git/
Izmjenjeno od Ernad Husremović prije više od 16 godina
- % završeno promijenjeno iz 0 u 30
$ git checkout -b bring.out.ba
$ vi ChangeLog ...
$ git commit -a
$ git push origin bring.out.ba:refs/heads/bring.out.ba
Counting objects: 7, done. Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 511 bytes, done. Total 4 (delta 3), reused 0 (delta 0) To git@git.bring.out.ba:harbour.git * [new branch] bring.out.ba -> bring.out.ba refs/heads/bring.out.ba: 0000000000000000000000000000000000000000 -> 84c3829f4ed50aff4af3bf44f8c439f0998362e3
Izmjenjeno od Ernad Husremović prije više od 16 godina
problem pri kompajliranju kada sam imao setovan HB_INC_COMPILE=c:/cygwin/usr/harbour/include
imao error pri otvaranju include fajlova, ovakva komanda:
gcc -I. -Ic:/cygwin/usr/harbour/include -mno-cygwin -Wall -W -c ../../harbour.c
nakon što sam unsetovao ovu varijablu
=> $ unset HB_INC_COMPILE
build harboura je nastavio uspješno
Izmjenjeno od Ernad Husremović prije više od 16 godina
hernad@vb-wk2 ~/devel/git/fmk/harbour/harbour
$ make install
make[1]: Leaving directory `/c/Documents and Settings/hernad/devel/git/fmk/harbour/harbour/contrib' ./bin/postinst.sh Generating c:/cygwin/usr/harbour/bin/hb-build... Creating links... Making harbour.dll... c:\MinGW\bin\ar.exe: /usr/harbour/lib/libhbvm.a: No such file or directory rm: cannot remove directory `/tmp/hb-mkslib-3108/libhbvm.a': Device or resource busy make[1]: Entering directory `/c/Documents and Settings/hernad/devel/git/fmk/harbour/harbour/source/vm' gcc -I. -I../../include -mno-cygwin -Wall -W -c fm.c -ofm.o make[1]: Leaving directory `/c/Documents and Settings/hernad/devel/git/fmk/harbour/harbour/source/vm'
Izmjenjeno od Ernad Husremović prije više od 16 godina
$ export HB_INC_COMPILE=c:/cygwin/usr/harbour/include
$ cat Makefile
ROOT = ../../harbour/harbour/ HB_INC_COMPILE += -I$(TOP)../include PRG_SOURCES= \ file_io.prg os_util.prg \ konvzn.prg \ ini.prg \ params.prg \ print.prg \ util.prg \ dummy.prg \ array_util.prg \ string_util.prg \ report_common.prg \ report_common_2.prg \ rtf.prg \ report_fmk_proizvoljni.prg \ time_util.prg \ fmk_util.prg \ log.prg LIBNAME=fmk_common include $(TOP)$(ROOT)config/lib.cf HB_FLAGS = -n -ufmk_std.ch -kM -gc0 -I$(TOP) -I$(HB_INC_COMPILE)
hernad@vb-wk2 ~/devel/git/fmk/fmk_lib/fmk_common
$ make
.. Harbour RC1 build 1.0-0 Intl. (Rev. 20080615) Copyright (c) 1999-2008, http://www.harbour-project.org/ Compiling '../../log.prg'... Lines 6, Functions/Procedures 1 Generating C source output to 'log.c'... Done. gcc -I. -Ic:/cygwin/usr/harbour/include -I../include -I../../../include -mno-cygwin -I/usr/lib/ruby/1.8/i486-linux/ -I/usr/include/harbour -c log.c -olog.o ar cr ../../../../harbour/harbour/lib/w32/mingw32/libfmk_common.a file_io.o os_util.o konvzn.o ini.o params.o print.o util.o dummy.o array_util.o string_util.o report_common.o report_common_2.o rtf.o report_fmk_proizvoljni.o time_util.o fmk_util.o log.o && ranlib ../../../../harbour/harbour/lib/w32/mingw32/libfmk_common.a || rm -f ../../../../harbour/harbour/lib/w32/mingw32/libfmk_common.a make[1]: Leaving directory `/c/Documents and Settings/hernad/devel/git/fmk/fmk_lib/fmk_common/w32/mingw32'
Izmjenjeno od Ernad Husremović prije više od 16 godina
kako mergirati promjene iz master-a u harbour branch ?¶
radi se ovom commit-u nastiman fin build
radim ovo:
$ git checkout harbour $ git merge 255dcd726ea77b6223ab48a4ceb95b0a849c1032
i dobijam milion error-a, očekivano
problem je taj što je u harbour branch-u skroz drugačija struktura
Izmjenjeno od Ernad Husremović prije više od 16 godina
uh pravo sam se zapetljao, mislim da ću se sa cherry-pick raspetljati
$ git-log master -- rpt/1g/lst_nal.prg
commit 255dcd726ea77b6223ab48a4ceb95b0a849c1032 Author: unknown <vsasa@.(none)> Date: Wed Jun 11 22:48:27 2008 +0200 nastiman fin bild
$ git cherry-pick -x 255dcd726ea77b6223ab48a4ceb95b0a849c1032
Auto-merged .gitignore CONFLICT (content): Merge conflict in .gitignore CONFLICT (delete/modify): rpt/1g/Makefile deleted in HEAD and modified in 255dcd7... nastiman fin bild. Version 255dcd7... nastiman fin bild of rpt/1g/Makefile left in tree. Automatic cherry-pick failed. After resolving the conflicts, mark the corrected paths with 'git add <paths>' or 'git rm <paths>' and commit the result. When commiting, use the option '-c 255dcd7' to retain authorship and message.
Izmjenjeno od Ernad Husremović prije više od 16 godina
ispravio ručno .gitignore, sa git add .gitignore ga dodao, napravio commit i time riješio preuzimanje fajlova iz master branch-a
da bih mogao builda-ti exe morao setovati HB_LIB_COMPILE
$ export HB_LIB_COMPILE=c:/cygwin/usr/harbour/lib
Izmjenjeno od Ernad Husremović prije više od 16 godina
- Fajl fin_make.txt fin_make.txt dodano
- Fajl harbour_init harbour_init dodano
napravio /usr/local/harbour_init koji setuje potrebne env varijable za build
kako da ulovim errore
hernad@vb-wk2 ~/devel/git/fmk/fin
$ make 2> fin_make.txt
Izmjenjeno od Ernad Husremović prije više od 16 godina
uzmi sadrzaj fajla iz master brancha
hernad@vb-wk2 ~/devel/git/fmk/fin
$ git-show master:rpt/1g/blag_di.prg > blagajna_dnevni_izvjestaj.prg
konvert sc.ch => fmk.ch
hernad@vb-wk2 ~/devel/git/fmk/fmk_common/fmk_rabat $ FILES=`ls *.prg` hernad@vb-wk2 ~/devel/git/fmk/fmk_common/fmk_rabat $ for f in $FILES; do ../../fmk_lib/scripts/sc_fmk_h.sh $f ; done
Izmjenjeno od Ernad Husremović prije više od 16 godina
Izmjenjeno od Ernad Husremović prije više od 16 godina
- Status promijenjeno iz Dodijeljeno u Zatvoreno
- % završeno promijenjeno iz 30 u 100
uspio sam ući u pripremu fin :)
Izmjenjeno od Ernad Husremović prije više od 16 godina
- Fajl flex-2.5.4a-1.exe flex-2.5.4a-1.exe dodano
- Fajl bison-2.1.exe bison-2.1.exe dodano
iako se ispostavilo da mi ne trebaju, instalirao sam i flex, bison za mingw32 iz GnuWin32 projekta