]>
Commit | Line | Data |
---|---|---|
ba3695b5 | 1 | # License: CC0\r |
0edf62b8 RN |
2 | \r |
3 | # Cross Build #\r | |
4 | \r | |
5 | ## Using OpenSUSE Tumbleweed in a VM ##\r | |
6 | \r | |
7 | ### Host Preparation ###\r | |
8 | \r | |
9 | On the host need to ensure the viking-1.X.tar.gz file is available:\r | |
10 | cd code/viking\r | |
11 | make dist\r | |
12 | \r | |
13 | Generate help PDF\r | |
14 | dblatex help/C/viking.xml\r | |
15 | This could be done in the VM but installing dblatex requires ~650Mb install (so a waste if already available on the host).\r | |
16 | \r | |
17 | ### Guest Preparation (root) ###\r | |
18 | \r | |
19 | In the guest ensure availability of build dependent mingw32 packages (not in standard Tumbleweed repo ATM)\r | |
20 | # As root\r | |
21 | zypper ar -f http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Tumbleweed windows\r | |
22 | zypper ar -f http://download.opensuse.org/repositories/home:/ecsos/openSUSE_Tumbleweed windows-extra-ecsos\r | |
23 | zypper ar -f http://download.opensuse.org/repositories/home:/ecsos:/pipelight/openSUSE_Tumbleweed windows-extra-ecsos\r | |
24 | # Ensure a standard user account is available for the build e.g:\r | |
25 | #useradd -m build\r | |
26 | #passwd build\r | |
27 | \r | |
28 | Install build packages as listed in the .spec file or when running the rpmbuild it will tell you what packages are required\r | |
29 | zypper install mingw32-cross-gcc\r | |
30 | #etc...\r | |
31 | \r | |
32 | For the MSI generation you will need\r | |
33 | zypper install mingw32-cross-nsis\r | |
34 | \r | |
35 | And ensure FindProcDLL is available for NSIS\r | |
36 | if [ ! -e /usr/share/nsis/Plugins/FindProcDLL.dll ];\r | |
37 | wget http://nsis.sourceforge.net/mediawiki/images/3/3c/FindProc.zip\r | |
38 | unzip FindProc.zip FindProcDLL.dll -d /usr/share/nsis/Plugins/\r | |
39 | fi\r | |
40 | \r | |
41 | Make code accessible via a shared folder\r | |
42 | So add a suitable Shared Folder to the virtual machine\r | |
43 | Remember the build user will need mount access priviledges - if using VirtualBox then:\r | |
44 | #As root\r | |
45 | #usermod -a -G vboxsf <builduser>\r | |
46 | \r | |
47 | ### Guest Preparation (builduser) ###\r | |
48 | \r | |
49 | Go to the code location\r | |
50 | cd /media/sf_Code/viking\r | |
51 | \r | |
52 | Copy source package as generated by make dist on the host to the package build area, or even just link to it e.g.:\r | |
53 | ln -s /media/sf_Code/viking/viking-1.6.1.tar.gz /home/build/rpmbuild/SOURCES/viking-1.6.1.tar.gz\r | |
54 | \r | |
55 | ### Build / Install / Run on Guest ###\r | |
56 | \r | |
57 | Now perform the build\r | |
58 | rpmbuild -ba mingw-viking.spec\r | |
59 | \r | |
60 | Install locally\r | |
61 | rpm -i /home/build/rpmbuild/RPMS/noarch/viking-*.noarch.rpm\r | |
62 | \r | |
63 | Generate .msi\r | |
64 | cd win32\r | |
65 | ./installer-mingw.sh\r | |
66 | \r | |
67 | Install .msi\r | |
68 | wine install/viking-*.exe\r | |
69 | \r | |
70 | Run viking.exe with wine\r | |
71 | cd ~/.wine/drive_c/Program\ Files/Viking/\r | |
72 | wine viking.exe\r | |
73 | \r | |
74 | #########################################################################\r | |
75 | \r | |
76 | # Native Build #\r | |
77 | \r | |
26edf476 RN |
78 | The build under Windows follows the same process as the traditional Linux build:\r |
79 | \r | |
80 | cd ../src\r | |
81 | sh configure <options>\r | |
82 | make\r | |
83 | \r | |
84 | There is a separate installer method using NSIS to generate the viking-1.X.Y.Z.exe installer file.\r | |
85 | \r | |
86 | To generate the installer (once the code has been compiled as above) run the installer.bat\r | |
87 | \r | |
88 | For further details (especially about how to set up the development dependencies) see:\r | |
89 | http://sourceforge.net/apps/mediawiki/viking/index.php?title=WindowsBuildInstructions\r | |
b1a8def8 RN |
90 | \r |
91 | These instructions have now been turned turned into a series of scripts to produce the Viking installer:\r | |
92 | \r | |
93 | 1. prepare.bat\r | |
94 | 2a. configure_and_make.bat\r | |
95 | 2b. make.bat\r | |
96 | 3. installer.bat\r | |
97 | \r | |
98 | The scripts are aimed at a pristine Windows XP installation.\r | |
99 | Using *prepare.bat* will attempt to *download* and *install* various Open Source software to aid this process.\r | |
100 | An administrator level account is needed to run this which will *modify* your system.\r | |
101 | \r | |
102 | The other scripts simply make use of these (assumed) available system programs.\r | |
103 | \r | |
104 | This setup is for dedicated usage to build Viking, primarily under Wine with:\r | |
105 | \r | |
106 | ./generate_install.sh\r | |
107 | \r | |
108 | Such that any Windows system (or of course a Virtual Machine) can be simply deleted (e.g. rm -rf /.wine) and recreated fully via the scripts.\r | |
109 | \r | |
0edf62b8 RN |
110 | From Viking 1.4 to 1.6.X this was how the Windows viking-W.X.Y.Z.exe installer file was produced.\r |
111 | \r | |
112 | Notionally the standard configure + make stages should still work, but the Cross build is now the supported method.\r | |
113 | Thus the prepare + installer scripts are no longer maintained and are for reference only.\r |