OpenWrt packages
Sign in or create your account | Project List | Help
OpenWrt packages Git Source Tree
Root/
1 | # |
2 | # Copyright (C) David Kuehling <dvdkhlng TA gmx TOD de> |
3 | # |
4 | # License GPLv2 or later. NO WARRANTY. |
5 | # |
6 | # OpenWRT package for the Allegro game and multimedia library |
7 | |
8 | # todo: |
9 | # |
10 | # * both shooter and skater try to load a demo.dat from /usr/bin. hack them to |
11 | # use usr/share subdirs? |
12 | # |
13 | # * similar problem with setup? |
14 | # |
15 | # * setup and shoot seem to need 8bpp video modes. can we hack them for |
16 | # 32bpp? Would it help to use a differnt video driver than just 'fbcon'? |
17 | # |
18 | include $(TOPDIR)/rules.mk |
19 | |
20 | PKG_NAME:=liballegro |
21 | PKG_VERSION:=4.4.2 |
22 | PKG_RELEASE:=3 |
23 | PKG_SOURCE:=allegro-$(PKG_VERSION).tar.gz |
24 | PKG_SOURCE_URL:=@SF/alleg/allegro/$(PKG_VERSION) |
25 | PKG_BUILD_DIR = $(BUILD_DIR)/allegro-$(PKG_VERSION) |
26 | HOST_BUILD_DIR = $(BUILD_DIR_HOST)/allegro-$(PKG_VERSION) |
27 | |
28 | PKG_MD5SUM:=4db71b0460fc99926ae91d223199c2e6 |
29 | PKG_INSTALL:=1 |
30 | |
31 | PKG_FIXUP:=libtool |
32 | PKG_REMOVE_FILES:= |
33 | |
34 | # PKG_BUILD_DEPENDS:=liballegro/host |
35 | |
36 | include $(INCLUDE_DIR)/host-build.mk |
37 | include $(INCLUDE_DIR)/package.mk |
38 | include $(INCLUDE_DIR)/cmake.mk |
39 | |
40 | define Package/liballegro/Default |
41 | SUBMENU:=Liballegro |
42 | SECTION:=libs |
43 | CATEGORY:=Libraries |
44 | TITLE:=The Allegro Game Programming Library |
45 | URL:=alleg.sf.net |
46 | # SUBMENU:=Editors |
47 | endef |
48 | |
49 | define Package/liballegro/Default/description |
50 | Allegro is a cross-platform library for computer games and multimedia |
51 | programming. |
52 | endef |
53 | |
54 | define Package/liballegro |
55 | $(call Package/liballegro/Default) |
56 | DEPENDS:=+alsa-lib |
57 | TITLE+= (library) |
58 | endef |
59 | |
60 | define Package/liballegro/description |
61 | $(call Package/liballegro/Default/description) |
62 | This package contains the Allegro library |
63 | endef |
64 | |
65 | define Package/liballegro-data |
66 | $(call Package/liballegro/Default) |
67 | TITLE+= (data) |
68 | endef |
69 | |
70 | define Package/liballegro-data/description |
71 | $(call Package/liballegro/Default/description) |
72 | This package contains various data files that are used by the Allegro library. |
73 | endef |
74 | |
75 | define Package/liballegro-png |
76 | $(call Package/liballegro/Default) |
77 | TITLE+= (PNG image support) |
78 | DEPENDS:=+liballegro +zlib +libpng |
79 | endef |
80 | |
81 | define Package/liballegro-png/description |
82 | $(call Package/liballegro/Default/description) |
83 | This package contains the libloadpng addon that allows interfacing allegro |
84 | Bitmaps with PNG files. Although the name of the library suggests otherwise |
85 | saving to PNG is supported as well as loading PNG files. |
86 | endef |
87 | |
88 | # note: jpgalleg contains its own jpeg implementation; libjpeg not needed! |
89 | define Package/liballegro-jpeg |
90 | $(call Package/liballegro/Default) |
91 | TITLE+= (JPEG image support) |
92 | DEPENDS:=+liballegro |
93 | endef |
94 | |
95 | define Package/liballegro-jpeg/description |
96 | $(call Package/liballegro/Default/description) |
97 | This package contains the libjpgalleg addon that allows interfacing allegro |
98 | Bitmaps with JPEG files. Saving to JPEG files is supported as well as loading. |
99 | endef |
100 | |
101 | define Package/liballegro-ogg |
102 | $(call Package/liballegro/Default) |
103 | TITLE+= (Ogg/Vorbis audio support) |
104 | DEPENDS:=+liballegro +libvorbisidec +libogg |
105 | endef |
106 | |
107 | define Package/liballegro-ogg/description |
108 | $(call Package/liballegro/Default/description) |
109 | This package contains the liblogg addon that allows play-back and mixing of |
110 | background music from Ogg Vorbis audio files. |
111 | endef |
112 | |
113 | define Package/liballegro-demo |
114 | $(call Package/liballegro/Default) |
115 | TITLE+= (demo) |
116 | DEPENDS:=+liballegro |
117 | endef |
118 | |
119 | define Package/liballegro-demo/description |
120 | $(call Package/liballegro/Default/description) |
121 | This package contains the Allegro demo game. |
122 | endef |
123 | |
124 | define Package/liballegro-setup |
125 | $(call Package/liballegro/Default) |
126 | TITLE+= (setup) |
127 | DEPENDS:=+liballegro |
128 | endef |
129 | |
130 | define Package/liballegro-setup/description |
131 | $(call Package/liballegro/Default/description) |
132 | This package contains the Allegro setup program |
133 | endef |
134 | |
135 | define Package/liballegro-examples |
136 | $(call Package/liballegro/Default) |
137 | TITLE+= (examples) |
138 | DEPENDS:=+liballegro |
139 | endef |
140 | |
141 | define Package/liballegro-examples/description |
142 | $(call Package/liballegro/Default/description) |
143 | This package contains the Allegro example programs named "ex*" |
144 | endef |
145 | |
146 | define Package/liballegro-utils |
147 | $(call Package/liballegro/Default) |
148 | TITLE+= (utils) |
149 | endef |
150 | |
151 | define Package/liballegro-utils/description |
152 | $(call Package/liballegro/Default/description) |
153 | This package contains the setup and test tool that ship with Allegro. |
154 | endef |
155 | |
156 | HOST_CONFIGURE_ARGS += |
157 | CONFIGURE_ARGS += |
158 | |
159 | TARGET_CPPFLAGS += |
160 | |
161 | define Build/Prepare |
162 | $(call Build/Prepare/Default) |
163 | endef |
164 | |
165 | HOST_CMAKE_FLAGS= \ |
166 | -DCMAKE_INSTALL_PREFIX=$(STAGING_DIR_HOST) \ |
167 | -DRT_LIBRARY= \ |
168 | -DDL_LIBRARY= \ |
169 | -DWANT_TOOLS=on \ |
170 | -DWANT_TESTS=off \ |
171 | -DWANT_MODULES=off \ |
172 | -DWANT_EXAMPLES=off \ |
173 | -DWANT_ALLEGROGL=off \ |
174 | -DWANT_LOADPNG=off \ |
175 | -DWANT_LOGG=off \ |
176 | -DWANT_JPGALLEG=off \ |
177 | -DWANT_X11=off \ |
178 | -DWANT_LINUX_CONSOLE=on \ |
179 | -DWANT_LINUX_FBCON=off \ |
180 | -DWANT_LINUX_VGA=off \ |
181 | -DWANT_LINUX_SVGALIB=off \ |
182 | -DWANT_ALSA=off \ |
183 | -DWANT_OSS=off \ |
184 | -DWANT_JACK=off \ |
185 | -DWANT_SGIAUDIO=off |
186 | |
187 | define Host/Configure |
188 | cd $(HOST_BUILD_DIR) && cmake $(HOST_CMAKE_FLAGS) . |
189 | endef |
190 | |
191 | ## On the host, we only need to compile the allegro develpment tools: |
192 | ## dat&friends |
193 | define Host/Compile |
194 | $(call Host/Compile/Default, VERBOSE=1 -j4) |
195 | endef |
196 | |
197 | define Host/Install |
198 | $(call Host/Install/Default) |
199 | # $(INSTALL_BIN) $(HOST_BUILD_DIR)/lib-src/make-docfile $(STAGING_DIR_HOST)/bin/liballegro-make-docfile |
200 | # $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/prefix-args $(STAGING_DIR_HOST)/bin/liballegro-prefix-args |
201 | endef |
202 | |
203 | # workaround for cmake.mk bug |
204 | ifneq ($(CONFIG_CCACHE),) |
205 | CMAKE_C_COMPILER:=ccache |
206 | CMAKE_CXX_COMPILER:=ccache |
207 | endif |
208 | |
209 | EXTRA_CFLAGS = -DSETUP_SCREEN_W=320 -DSETUP_SCREEN_H=240 -DSETUP_CFG_FILE=\\\"/etc/allegrorc\\\" |
210 | TARGET_LDFLAGS = -L$(STAGING_DIR)/usr/lib -ldl -lrt |
211 | |
212 | CMAKE_OPTIONS = \ |
213 | -DRT_LIBRARY= \ |
214 | -DALLEGRO_USE_CONSTRUCTOR_EXITCODE=0 \ |
215 | -DRT_LIBRARY= \ |
216 | -DDL_LIBRARY= \ |
217 | -DWANT_TOOLS=on \ |
218 | -DWANT_TESTS=on \ |
219 | -DWANT_MODULES=on \ |
220 | -DWANT_EXAMPLES=on \ |
221 | -DWANT_ALLEGROGL=off \ |
222 | -DWANT_X11=off \ |
223 | -DWANT_LINUX_CONSOLE=on \ |
224 | -DWANT_LINUX_FBCON=on \ |
225 | -DWANT_LINUX_VGA=off \ |
226 | -DWANT_LINUX_SVGALIB=off \ |
227 | -DWANT_ALSA=on \ |
228 | -DWANT_OSS=off \ |
229 | -DWANT_JACK=off \ |
230 | -DWANT_SGIAUDIO=off \ |
231 | -DWANT_LOADPNG=$(if $(CONFIG_PACKAGE_liballegro-png),on,off) \ |
232 | -DWANT_JPGALLEG=$(if $(CONFIG_PACKAGE_liballegro-jpeg),on,off) \ |
233 | -DWANT_LOGG=$(if $(CONFIG_PACKAGE_liballegro-ogg),on,off) |
234 | |
235 | # todo: patch CMakeLists.txt to force addons to be compiled as shared libs? |
236 | # -DADDON_LINKAGE=SHARED |
237 | |
238 | MAKE_FLAGS += -j4 |
239 | |
240 | define Build/Configure |
241 | $(call Build/Configure/Default) |
242 | endef |
243 | |
244 | define Build/Compile |
245 | $(call Build/Compile/Default) |
246 | $(call Build/Compile/Default -C PKG_BUILD_DIR) |
247 | # ln -sf $(STAGING_DIR_HOST)/bin/liballegro-make-docfile $(PKG_BUILD_DIR)/lib-src/make-docfile |
248 | endef |
249 | |
250 | define Build/Install |
251 | $(call Build/Install/Default) |
252 | #$(INSTALL_DATA) ./files/... $(PKG_INSTALL_DIR)/usr/share/.. |
253 | endef |
254 | |
255 | define Build/InstallDev |
256 | $(INSTALL_DIR) $(1)/usr/include/ |
257 | $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ |
258 | |
259 | $(INSTALL_DIR) $(1)/usr/lib |
260 | $(INSTALL_DIR) $(1)/usr/lib/pkgconfig |
261 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* \ |
262 | $(1)/usr/lib/ |
263 | -$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.a \ |
264 | $(1)/usr/lib/ |
265 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \ |
266 | $(1)/usr/lib/pkgconfig/ |
267 | # $(SED) 's,-I$$$${includedir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc |
268 | # $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc |
269 | endef |
270 | |
271 | define Package/liballegro/install |
272 | $(INSTALL_DIR) $(1)/usr/lib $(1)/etc |
273 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/liballeg* $(1)/usr/lib/ |
274 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/allegro $(1)/usr/lib/ |
275 | $(CP) ./files/allegrorc $(1)/etc/ |
276 | endef |
277 | |
278 | define Package/liballegro-data/install |
279 | $(INSTALL_DIR) $(1)/usr/share/allegro |
280 | $(CP) $(PKG_BUILD_DIR)/{keyboard.dat,language.dat} $(1)/usr/share/allegro |
281 | # readme file is used by the allegro 'shooter' demo |
282 | $(INSTALL_DIR) $(1)/usr/share/allegro/docs/{txt,src} |
283 | $(CP) $(PKG_BUILD_DIR)/docs/txt/readme.txt \ |
284 | $(1)/usr/share/allegro/docs/txt |
285 | $(CP) $(PKG_BUILD_DIR)/docs/src/thanks._tx \ |
286 | $(1)/usr/share/allegro/docs/src |
287 | endef |
288 | |
289 | define Package/liballegro-png/install |
290 | $(INSTALL_DIR) $(1)/usr/lib/ |
291 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libloadpng* $(1)/usr/lib/ |
292 | endef |
293 | |
294 | define Package/liballegro-jpeg/install |
295 | $(INSTALL_DIR) $(1)/usr/lib/ |
296 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjpgalleg* $(1)/usr/lib/ |
297 | endef |
298 | |
299 | define Package/liballegro-ogg/install |
300 | $(INSTALL_DIR) $(1)/usr/lib/ |
301 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblogg* $(1)/usr/lib/ |
302 | endef |
303 | |
304 | define Package/liballegro-demo/install |
305 | $(INSTALL_DIR) $(1)/usr/bin |
306 | $(INSTALL_DIR) $(1)/usr/share/allegro |
307 | $(CP) $(PKG_BUILD_DIR)/demos/shooter/shooter $(1)/usr/bin/ |
308 | $(CP) $(PKG_BUILD_DIR)/demos/shooter/demo.dat $(1)/usr/share/allegro/shooter.dat |
309 | $(CP) $(PKG_BUILD_DIR)/demos/skater/skater $(1)/usr/bin/ |
310 | $(CP) $(PKG_BUILD_DIR)/demos/skater/demo.dat $(1)/usr/share/allegro/skater.dat |
311 | endef |
312 | |
313 | define Package/liballegro-setup/install |
314 | $(INSTALL_DIR) $(1)/usr/bin |
315 | $(INSTALL_DIR) $(1)/usr/share/allegro/ |
316 | $(CP) $(PKG_BUILD_DIR)/setup/setup $(1)/usr/bin/allegro-setup |
317 | $(CP) $(PKG_BUILD_DIR)/setup/setup.dat $(1)/usr/share/allegro/ |
318 | endef |
319 | |
320 | define Package/liballegro-examples/install |
321 | $(INSTALL_DIR) $(1)/usr/bin/allegro |
322 | $(CP) $(PKG_BUILD_DIR)/examples/* $(1)/usr/bin/allegro/ |
323 | rm $(1)/usr/bin/allegro/{*.c,*.h,*.txt,*.cmake} |
324 | rm -r $(1)/usr/bin/allegro/CMakeFiles |
325 | endef |
326 | |
327 | define Package/liballegro-utils/install |
328 | $(INSTALL_DIR) $(1)/usr/bin |
329 | $(CP) $(PKG_INSTALL_DIR)/usr/bin $(1)/usr |
330 | endef |
331 | |
332 | |
333 | $(eval $(call HostBuild)) |
334 | $(eval $(call BuildPackage,liballegro)) |
335 | $(eval $(call BuildPackage,liballegro-data)) |
336 | $(eval $(call BuildPackage,liballegro-png)) |
337 | $(eval $(call BuildPackage,liballegro-jpeg)) |
338 | $(eval $(call BuildPackage,liballegro-ogg)) |
339 | $(eval $(call BuildPackage,liballegro-demo)) |
340 | $(eval $(call BuildPackage,liballegro-setup)) |
341 | $(eval $(call BuildPackage,liballegro-examples)) |
342 | $(eval $(call BuildPackage,liballegro-utils)) |
343 | |
344 | |
345 | # The following comments configure the Emacs editor. Just ignore them. |
346 | # Local Variables: |
347 | # compile-command: "cd ~/src/nanonote/allegro-4.4.2 && ~/bin/quilt-export target && make -C ~/h/src/qi/openwrt-xburst package/liballegro/compile -j2 V=99" |
348 | # End: |
349 |