[Buildroot] [PATCH 1/1] package/fs-uae: new package

Bernd Kuhls bernd.kuhls at t-online.de
Wed Jun 8 16:42:00 UTC 2016


Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
 package/Config.in                    |  1 +
 package/fs-uae/0001-host-tools.patch | 63 ++++++++++++++++++++++++++++++++++++
 package/fs-uae/Config.in             | 36 +++++++++++++++++++++
 package/fs-uae/fs-uae.hash           |  4 +++
 package/fs-uae/fs-uae.mk             | 57 ++++++++++++++++++++++++++++++++
 5 files changed, 161 insertions(+)
 create mode 100644 package/fs-uae/0001-host-tools.patch
 create mode 100644 package/fs-uae/Config.in
 create mode 100644 package/fs-uae/fs-uae.hash
 create mode 100644 package/fs-uae/fs-uae.mk

diff --git a/package/Config.in b/package/Config.in
index 660cdcc..150fc15 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -229,6 +229,7 @@ endmenu
 menu "Games"
 	source "package/chocolate-doom/Config.in"
 	source "package/doom-wad/Config.in"
+	source "package/fs-uae/Config.in"
 	source "package/gnuchess/Config.in"
 	source "package/lbreakout2/Config.in"
 	source "package/ltris/Config.in"
diff --git a/package/fs-uae/0001-host-tools.patch b/package/fs-uae/0001-host-tools.patch
new file mode 100644
index 0000000..932e638
--- /dev/null
+++ b/package/fs-uae/0001-host-tools.patch
@@ -0,0 +1,63 @@
+Cross-compiling needs some tools as host version
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
+
+diff -uNr fs-uae-2.5.30dev.org/Makefile.am fs-uae-2.5.30dev/Makefile.am
+--- fs-uae-2.5.30dev.org/Makefile.am	2015-03-30 22:16:10.000000000 +0200
++++ fs-uae-2.5.30dev/Makefile.am	2015-05-03 13:36:14.295397247 +0200
+@@ -1165,30 +1165,30 @@
+ 
+ CLEANFILES = $(BUILT_SOURCES)
+ 
+-gen/blit.h: gen/genblitter$(EXEEXT)
+-	$(b)/gen/genblitter$(EXEEXT) i > $(b)/gen/blit.h
++gen/blit.h: gen/genblitter_host$(EXEEXT)
++	$(b)/gen/genblitter_host$(EXEEXT) i > $(b)/gen/blit.h
+ 
+-gen/blitfunc.cpp: gen/genblitter$(EXEEXT) gen/blitfunc.h
+-	$(b)/gen/genblitter$(EXEEXT) f > $(b)/gen/blitfunc.cpp
++gen/blitfunc.cpp: gen/genblitter_host$(EXEEXT) gen/blitfunc.h
++	$(b)/gen/genblitter_host$(EXEEXT) f > $(b)/gen/blitfunc.cpp
+ 
+-gen/blitfunc.h: gen/genblitter$(EXEEXT)
+-	$(b)/gen/genblitter$(EXEEXT) h > $(b)/gen/blitfunc.h
++gen/blitfunc.h: gen/genblitter_host$(EXEEXT)
++	$(b)/gen/genblitter_host$(EXEEXT) h > $(b)/gen/blitfunc.h
+ 
+-gen/blittable.cpp: gen/genblitter$(EXEEXT) gen/blitfunc.h
+-	$(b)/gen/genblitter$(EXEEXT) t > $(b)/gen/blittable.cpp
++gen/blittable.cpp: gen/genblitter_host$(EXEEXT) gen/blitfunc.h
++	$(b)/gen/genblitter_host$(EXEEXT) t > $(b)/gen/blittable.cpp
+ 
+-gen/compemu.cpp: gen/gencomp$(EXEEXT)
+-	$(b)/gen/gencomp$(EXEEXT)
++gen/compemu.cpp: gen/gencomp_host$(EXEEXT)
++	$(b)/gen/gencomp_host$(EXEEXT)
+ 
+ gen/compstbl.cpp: gen/compemu.cpp
+ 
+ gen/comptbl.h: gen/compemu.cpp
+ 
+-gen/cpudefs.cpp: gen/build68k$(EXEEXT) src/table68k
+-	$(b)/gen/build68k$(EXEEXT) < $(s)/src/table68k > $(b)/gen/cpudefs.cpp
++gen/cpudefs.cpp: gen/build68k_host$(EXEEXT) src/table68k
++	$(b)/gen/build68k_host$(EXEEXT) < $(s)/src/table68k > $(b)/gen/cpudefs.cpp
+ 
+-gen/cpuemu_0.cpp: gen/gencpu$(EXEEXT)
+-	cd $(b)/gen && ./gencpu$(EXEEXT) --optimized-flags
++gen/cpuemu_0.cpp: gen/gencpu_host$(EXEEXT)
++	cd $(b)/gen && ./gencpu_host$(EXEEXT) --optimized-flags
+ 
+ gen/cpuemu_11.cpp: gen/cpuemu_0.cpp
+ 
+@@ -1216,8 +1216,8 @@
+ 
+ gen/cputbl.h: gen/cpuemu_0.cpp
+ 
+-gen/linetoscr.cpp: gen/genlinetoscr$(EXEEXT)
+-	$(b)/gen/genlinetoscr$(EXEEXT) > $(b)/gen/linetoscr.cpp
++gen/linetoscr.cpp: gen/genlinetoscr_host$(EXEEXT)
++	$(b)/gen/genlinetoscr_host$(EXEEXT) > $(b)/gen/linetoscr.cpp
+ 
+ catalogs = \
+ 	share/locale/cs/LC_MESSAGES/fs-uae.mo \
diff --git a/package/fs-uae/Config.in b/package/fs-uae/Config.in
new file mode 100644
index 0000000..4134f12
--- /dev/null
+++ b/package/fs-uae/Config.in
@@ -0,0 +1,36 @@
+config BR2_PACKAGE_FS_UAE
+	bool "fs-uae"
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_LIBGLEW
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBGLU
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_OPENAL
+	select BR2_PACKAGE_SDL2
+	select BR2_PACKAGE_SDL2_X11
+	select BR2_PACKAGE_XLIB_LIBXI
+	select BR2_PACKAGE_ZLIB
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_HAS_LIBGL
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7
+	depends on !BR2_STATIC_LIBS # sdl2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # fenv.h
+	depends on BR2_USE_MMU # libglib2
+	depends on BR2_USE_WCHAR # libglib2, X.org
+	help
+	  FS-UAE integrates the most accurate Amiga emulation code
+	  available from WinUAE. FS-UAE emulates A500, A500+, A600,
+	  A1200, A1000, A3000 and A4000 models, but you can tweak the
+	  hardware configuration and create customized Amigas.
+
+	  http://fs-uae.net
+
+comment "fs-uae needs an OpenGL backend, X.org and a (e)glibc/musl toolchain w/ C++, dynamic library, threads, wchar"
+	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) \
+		|| !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7 \
+		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
+		|| BR2_STATIC_LIBS || !BR2_USE_WCHAR
diff --git a/package/fs-uae/fs-uae.hash b/package/fs-uae/fs-uae.hash
new file mode 100644
index 0000000..9284d25
--- /dev/null
+++ b/package/fs-uae/fs-uae.hash
@@ -0,0 +1,4 @@
+# Locally computed
+sha256 9df7445bccef5255a66135f040dfbcac48b20df79f09daced166c8771428da83 fs-uae-2.7.14dev.tar.gz
+sha256 a00db7a414706830522d3caf1129748b796c88a81929cfd504d289d00df13f0f d4aa0454e39991b20801ec1f99c475156190c8ef.patch
+sha256 e6e310903c1a1ab20ae8be83dcd497ee2322ca9060a7bb898891a4b44a2e62f2 f09e81f712ae9b78220e945559cbca6a76cdf49b.patch
diff --git a/package/fs-uae/fs-uae.mk b/package/fs-uae/fs-uae.mk
new file mode 100644
index 0000000..ba9d3ad
--- /dev/null
+++ b/package/fs-uae/fs-uae.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# fs-uae
+#
+################################################################################
+
+FS_UAE_VERSION = 2.7.14dev
+FS_UAE_SITE = https://fs-uae.net/devel/$(FS_UAE_VERSION)
+FS_UAE_PATCH = \
+	https://github.com/FrodeSolheim/fs-uae/commit/d4aa0454e39991b20801ec1f99c475156190c8ef.patch \
+	https://github.com/FrodeSolheim/fs-uae/commit/f09e81f712ae9b78220e945559cbca6a76cdf49b.patch
+FS_UAE_LICENSE = GPLv2
+FS_UAE_LICENSE_FILES = COPYING
+FS_UAE_AUTORECONF = YES
+FS_UAE_DEPENDENCIES = host-pkgconf host-zip libgl libglew libglib2 \
+	libglu libpng openal sdl2 xlib_libXi zlib
+FS_UAE_CONF_OPTS = --with-glew
+
+ifeq ($(BR2_PACKAGE_LIBMPEG2),y)
+FS_UAE_DEPENDENCIES += libmpeg2
+FS_UAE_CONF_OPTS += --with-libmpeg2
+else
+FS_UAE_CONF_OPTS += --without-libmpeg2
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_GUI),y)
+FS_UAE_DEPENDENCIES += qt5base
+FS_UAE_CONF_OPTS += --with-qt
+else
+FS_UAE_CONF_OPTS += --without-qt
+endif
+
+# fs-uae needs some tools compiled for the host during build
+FS_UAE_CXXFLAGS_FOR_HOST_TOOLS = \
+	-DHAVE_CONFIG_H -I.  -DLINUX -DUAE -DFSUAE -I./flac/include \
+	-I./gen -I./src -I./src/jit -I./src/include -I./src/od-fs \
+	-I./src/od-fs/include -I./src/od-win32 -I./src/od-win32/caps \
+	-I./libfsemu/include -I./glee -I./manymouse -I./src/slirp/include \
+	-I./libudis86/include  -I./prowizard/include -I./softfloat
+
+define FS_UAE_MAKE_HOST_TOOLS
+	mkdir -p $(@D)/gen
+	cd $(@D) && $(HOSTCXX) $(HOST_CXXFLAGS) $(FS_UAE_CXXFLAGS_FOR_HOST_TOOLS) $(HOST_LDFLAGS) \
+		-o gen/genblitter_host src/blitops.cpp src/genblitter.cpp src/writelog.cpp
+	cd $(@D) && $(HOSTCXX) $(HOST_CXXFLAGS) $(FS_UAE_CXXFLAGS_FOR_HOST_TOOLS) $(HOST_LDFLAGS) \
+		-o gen/genlinetoscr_host src/genlinetoscr.cpp
+	cd $(@D) && $(HOSTCXX) $(HOST_CXXFLAGS) $(FS_UAE_CXXFLAGS_FOR_HOST_TOOLS) $(HOST_LDFLAGS) \
+		-o gen/build68k_host src/build68k.cpp src/writelog.cpp
+	cd $(@D) && ./gen/build68k_host < ./src/table68k > ./gen/cpudefs.cpp
+	cd $(@D) && $(HOSTCXX) $(HOST_CXXFLAGS) $(FS_UAE_CXXFLAGS_FOR_HOST_TOOLS) $(HOST_LDFLAGS) \
+		-o gen/gencomp_host src/jit/gencomp.cpp src/missing.cpp src/readcpu.cpp gen/cpudefs.cpp
+	cd $(@D) && $(HOSTCXX) $(HOST_CXXFLAGS) $(FS_UAE_CXXFLAGS_FOR_HOST_TOOLS) $(HOST_LDFLAGS) \
+		-o gen/gencpu_host src/gencpu.cpp src/missing.cpp src/readcpu.cpp gen/cpudefs.cpp
+endef
+FS_UAE_POST_CONFIGURE_HOOKS = FS_UAE_MAKE_HOST_TOOLS
+
+$(eval $(autotools-package))
-- 
2.8.1



More information about the buildroot mailing list