Last modified by christoph_lechleitner@iteg_at on 2018-01-03 03.50:49

From version 2.1
edited by christoph_lechleitner@iteg_at
on 2012-07-20 06.31:00
Change comment: There is no comment for this version
To version 9.1
edited by christoph_lechleitner@iteg_at
on 2014-01-02 03.27:43
Change comment: Optimizations

Summary

Details

Page properties
Content
... ... @@ -6,11 +6,11 @@
6 6  
7 7  These are the steps for an ultra fast bootstrapping of a portable project relying on pba-cbs and [[our incarnation of the MinGW cross compilation toolchain>>doc:MINGW64.WebHome]].
8 8  
9 -===== {{id name="PBA-cbsbootstrappingofportableC++project-Prepare"/}}Prepare =====
9 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Preparations"/}}Preparations =====
10 10  
11 -Just to avoid frustration: You need the {{code language="none"}}pba-cbs{{/code}} package installed, using i.e. the {{code language="none"}}pba{{/code}} debsource from [[https:~~/~~/deb.clazzes.org>>url:https://deb.clazzes.org||shape="rect"]].
11 +You need deb sources for {{code language="none"}}pba{{/code}} ({{code language="none"}}any-pba-1.0{{/code}}) and //distro//{{code language="none"}}-mingw-5{{/code}} (i.e. {{code language="none"}}squeeze-mingw-5{{/code}} or {{code language="none"}}wheezy-mingw-5{{/code}}), see [[https:~~/~~/deb.clazzes.org>>url:https://deb.clazzes.org/||shape="rect"]].
12 12  
13 -{{code language="none"}}pba-cbs{{/code}} depends on required packages, but do not forget {{code language="none"}}subversion{{/code}}, {{code language="none"}}gcc{{/code}}, ...
13 +For starters, You need to install the packages {{code language="none"}}pba-cbs{{/code}} and {{code language="none"}}subversion{{/code}}.
14 14  
15 15  ===== {{id name="PBA-cbsbootstrappingofportableC++project-Retrievethesceleton"/}}Retrieve the sceleton =====
16 16  
... ... @@ -34,52 +34,44 @@
34 34  cd $MYAPPNAME
35 35   
36 36  scripts/rename_main_files.sh $MYAPPNAME
37
38 +rm scripts/rename_main_files.sh
37 37  {{/code}}
38 38  
39 -===== {{id name="PBA-cbsbootstrappingofportableC++project-Adaptdebianinformation..."/}}Adapt debian information ... =====
41 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:Removewindowsstuff"/}}Optional: Remove windows stuff =====
40 40  
41 -If you want debian-packages, edit them, change my name and e-mail to yours and adapt the description:
43 +If you do not want windows binaries, remove it:
42 42  
45 +(((
43 43  {{code language="none"}}
44 -$EDITOR debian*/control debian*/changelog
47 +rm -rf src/include-mingw.mk src/*.nsi src/*.rc debian-mingw* build/win* nsis
45 45  {{/code}}
49 +)))
46 46  
47 -===== {{id name="PBA-cbsbootstrappingofportableC++project-...ordropdebian/"/}}... or drop debian/ =====
51 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Adaptdebianinformation"/}}Adapt debian information =====
48 48  
49 -If you do not want debian packages, just remove the debian directory:
53 +Change my name and e-mail to yours and adapt the description:
50 50  
51 51  {{code language="none"}}
52 -rm -rf debian*
56 +$EDITOR debian*/control debian*/changelog
53 53  {{/code}}
54 54  
55 -===== {{id name="PBA-cbsbootstrappingofportableC++project-AdapttheWindowsrctemplate..."/}}Adapt the Windows rc template ... =====
59 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:AdapttheWindowsrctemplate..."/}}Optional: Adapt the Windows rc template ... =====
56 56  
57 -If you want windows binaries, edit the resoure template:
61 +If you want windows binaries, edit the templates for .rc file and NSIS installer script:
58 58  
59 59  {{code language="none"}}
60 -$EDITOR src/*.rc
64 +$EDITOR src/*.rc src/*.nsi
61 61  {{/code}}
62 62  
63 63  Do not forget to change the icon, too!
64 64  
65 -===== {{id name="PBA-cbsbootstrappingofportableC++project-...orremoveit"/}}... or remove it =====
69 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:Activatesvnoranotherrevisioncontrolsystem"/}}(% style="line-height: 1.6666666;" %)Optional: Activate svn or another revision control system(%%) =====
66 66  
67 -If you do not want windows binaries, remove it:
68 -
69 -(((
70 -{{code language="none"}}
71 -rm src/*.rc
72 -{{/code}}
73 -
74 -In most cases you just broke the windows build!
75 -
76 -===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:Activatesvnoranotherrevisioncontrol"/}}Optional: Activate svn or another revision control =====
77 -)))
78 -
79 79  Now (and before any build activity) is a very good time to put your project under subversion control:
80 80  
81 81  {{code language="none"}}
82 -svn add .
74 +svn add `pwd`
83 83  {{/code}}
84 84  
85 85  You might also want to fill {{code language="none"}}svn:ignore{{/code}} properties of some directories:
... ... @@ -88,26 +88,41 @@
88 88  scripts/set_svn_ignore.sh
89 89  {{/code}}
90 90  
91 -===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:buildit"/}}Optional: build it =====
83 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:Installrequiredlibsandbuildthepackage"/}}Optional: Install required libs and build the package =====
92 92  
93 -To produce a debian package, just:
85 +To produce the debian packages, just:
94 94  
95 95  {{code language="none"}}
96 -pba-build -u
88 +# this needs sudo privileges
89 +pba-builddeps -i
97 97   
91 +pba-build -u
92 +
98 98  # or dpkg-build*
99 99  {{/code}}
100 100  
101 -We will soon add {{code language="none"}}debian-mingw-*/{{/code}} directories and NSIS installers, for now for Windows just use make:
96 +To only build the linux packages or only the windows packages, add {{code language="none"}}-o unix{{/code}} resp. {{code language="none"}}-o mingw{{/code}} to the pba-commands.
102 102  
98 +===== {{id name="PBA-cbsbootstrappingofportableC++project-Optional:CreateWindowsInstallers"/}}Optional: Create Windows Installers =====
99 +
100 +First, edit the {{code language="none"}}.nsi{{/code}} script template and replace all instances of "{{code language="none"}}Clazzes.org{{/code}}" with something of your choice:
101 +
103 103  {{code language="none"}}
104 -make -C build/win32/release/
103 +$EDITOR src/*.nsi
104 +{{/code}}
105 105  
106 -make -C build/win64/release/
106 +Then "make" the {{code language="none"}}nsis{{/code}} directory:
107 +
108 +{{code language="none"}}
109 +make -C nsis && ls -ltr nsis/*.exe
107 107  {{/code}}
108 108  
109 -
112 +===== {{id name="PBA-cbsbootstrappingofportableC++project-FinallyupdatetheReadMe"/}}Finally update the ReadMe =====
110 110  
111 -
114 +At least remove the link to this page ...
112 112  
113 -
116 +{{code language="none"}}
117 +$EDITOR doc/ReadMe.txt
118 +{{/code}}
119 +
120 +... or the complete ReadMe file.
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -659172
1 +659173
URL
... ... @@ -1,1 +1,1 @@
1 -https://clazzes.atlassian.net/wiki/spaces/PBA/pages/659172/PBA-cbs bootstrapping of portable C++ project
1 +https://clazzes.atlassian.net/wiki/spaces/PBA/pages/659173/PBA-cbs bootstrapping of portable C++ project