Jelajahi Sumber

CrossCompile fixes,
added gfa Libraries

Reinhard Russinger 5 tahun lalu
induk
melakukan
487c8aa5be

+ 8 - 0
Config.in

@@ -7,4 +7,12 @@ source "$BR2_EXTERNAL_GFA_Display001_PATH/package/libgfatimer/Config.in"
 source "$BR2_EXTERNAL_GFA_Display001_PATH/package/libulfius/Config.in"
 source "$BR2_EXTERNAL_GFA_Display001_PATH/package/libyder/Config.in"
 source "$BR2_EXTERNAL_GFA_Display001_PATH/package/liborcania/Config.in"
+#-------
+comment "Gfa Tools"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfaipc/Config.in"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfasitarautils/Config.in"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfaqt/Config.in"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfamininet/Config.in"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfatimer/Config.in"
+source "$BR2_EXTERNAL_GFA_Display001_PATH/package/gfanet/Config.in"
 

+ 1 - 1
board/GfA/Display001/BUILD

@@ -1 +1 @@
-662
+666

+ 6 - 0
configs/Display001_4.4.145_bone23_Qt5.7_defconfig

@@ -470,3 +470,9 @@ BR2_PACKAGE_GFASQLPLUGIN=y
 BR2_PACKAGE_QTFREEVIRTUALKEYBOARD=y
 BR2_PACKAGE_GFABROWSER=y
 BR2_PACKAGE_LIBULFIUS=y
+BR2_PACKAGE_GFAIPC=y
+BR2_PACKAGE_GFASITARAUTILS=y
+BR2_PACKAGE_GFAQT=y
+BR2_PACKAGE_GFAMININET=y
+BR2_PACKAGE_GFATIMER=y
+BR2_PACKAGE_GFANET=y

+ 7 - 0
package/gfaipc/Config.in

@@ -0,0 +1,7 @@
+config BR2_PACKAGE_GFAIPC
+	bool "GfAIPC"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  
+	  GfA IPC Tools
+	  https://gogs.reru.org

+ 32 - 0
package/gfaipc/gfaipc.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfAIPC
+#
+################################################################################
+
+GFAIPC_VERSION = master
+GFAIPC_SITE = https://gogs.reru.org/GfA/libgfaipc.git
+GFAIPC_SITE_METHOD = git
+GFAIPC_DEPENDENCIES = qt5base
+GFAIPC_INSTALL_STAGING = YES
+GFAIPC_INSTALL_TARGET = YES
+
+define GFAIPC_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFAIPC_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFAIPC_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFAIPC_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))
+

+ 9 - 0
package/gfamininet/Config.in

@@ -0,0 +1,9 @@
+config BR2_PACKAGE_GFAMININET
+	bool "GfAMININET"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  Qt GfAMininet 
+	  https://gogs.reru.org

+ 32 - 0
package/gfamininet/gfamininet.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfAMININET
+#
+################################################################################
+
+GFAMININET_VERSION = master
+GFAMININET_SITE = https://gogs.reru.org/GfA/libgfamininet.git
+GFAMININET_SITE_METHOD = git
+GFAMININET_DEPENDENCIES = qt5base
+GFAMININET_INSTALL_STAGING = YES
+GFAMININET_INSTALL_TARGET = YES
+
+define GFAMININET_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFAMININET_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFAMININET_INSTALL_STAGING_CMDS
+#	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(STAGING_DIR)/ $(MAKE) -C $(@D) install_toolchain
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFAMININET_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))

+ 7 - 0
package/gfanet/Config.in

@@ -0,0 +1,7 @@
+config BR2_PACKAGE_GFANET
+	bool "GfANET"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  
+	  GfA Network Setting Tools Tools
+	  https://gogs.reru.org

+ 32 - 0
package/gfanet/gfanet.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfANET
+#
+################################################################################
+
+GFANET_VERSION = master
+GFANET_SITE = https://gogs.reru.org/GfA/libgfaNET.git
+GFANET_SITE_METHOD = git
+GFANET_DEPENDENCIES = qt5base
+GFANET_INSTALL_STAGING = YES
+GFANET_INSTALL_TARGET = YES
+
+define GFANET_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFANET_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFANET_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFANET_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))
+

+ 7 - 0
package/gfaqt/Config.in

@@ -0,0 +1,7 @@
+config BR2_PACKAGE_GFAQT
+	bool "GfAQT"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  
+	  GfA QT Tools
+	  https://gogs.reru.org

+ 32 - 0
package/gfaqt/gfaqt.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfAQT
+#
+################################################################################
+
+GFAQT_VERSION = master
+GFAQT_SITE = https://gogs.reru.org/GfA/libgfaqt.git
+GFAQT_SITE_METHOD = git
+GFAQT_DEPENDENCIES = qt5base
+GFAQT_INSTALL_STAGING = YES
+GFAQT_INSTALL_TARGET = YES
+
+define GFAQT_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFAQT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFAQT_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFAQT_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))
+

+ 9 - 0
package/gfasitarautils/Config.in

@@ -0,0 +1,9 @@
+config BR2_PACKAGE_GFASITARAUTILS
+	bool "GfASITARAUtils"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  Qt GfASITARAUtils 
+	  https://gogs.reru.org

+ 32 - 0
package/gfasitarautils/gfasitarautils.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfASITARAUtils
+#
+################################################################################
+
+GFASITARAUTILS_VERSION = master
+GFASITARAUTILS_SITE = https://gogs.reru.org/GfA/libgfasitarautils.git
+GFASITARAUTILS_SITE_METHOD = git
+GFASITARAUTILS_DEPENDENCIES = qt5base
+GFASITARAUTILS_INSTALL_STAGING = YES
+GFASITARAUTILS_INSTALL_TARGET = YES
+
+define GFASITARAUTILS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFASITARAUTILS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFASITARAUTILS_INSTALL_STAGING_CMDS
+#	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(STAGING_DIR)/ $(MAKE) -C $(@D) install_toolchain
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFASITARAUTILS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))

+ 7 - 0
package/gfatimer/Config.in

@@ -0,0 +1,7 @@
+config BR2_PACKAGE_GFATIMER
+	bool "GfATIMER"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  
+	  GfA Timer Tools
+	  https://gogs.reru.org

+ 32 - 0
package/gfatimer/gfatimer.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# GfATIMER
+#
+################################################################################
+
+GFATIMER_VERSION = master
+GFATIMER_SITE = https://gogs.reru.org/GfA/libgfatimer.git
+GFATIMER_SITE_METHOD = git
+GFATIMER_DEPENDENCIES = qt5base
+GFATIMER_INSTALL_STAGING = YES
+GFATIMER_INSTALL_TARGET = YES
+
+define GFATIMER_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define GFATIMER_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define GFATIMER_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_library
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install_includes
+endef
+
+define GFATIMER_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) INSTALL_ROOT=$(TARGET_DIR)/ $(MAKE) -C $(@D)	install_target
+endef
+
+$(eval $(generic-package))
+

+ 77 - 0
patches/0025-CrossCompile-fixes.patch

@@ -0,0 +1,77 @@
+diff --git a/CrossCompile.sh b/CrossCompile.sh
+index cb6c0ae..c068ea1 100755
+--- a/CrossCompile.sh
++++ b/CrossCompile.sh
+@@ -3,9 +3,53 @@
+ #
+ 
+ WRKDIR=`pwd`
+-CMDDIR=`dirname $0`
++CMDDIR=`dirname \`readlink -f $0\``
+ cd $CMDDIR
+ 
++#=== Asssign GNU_TARGET_NAME from .config
++_ARCH=`grep BR2_ARCH\= .config | awk -F\= -F\" '{print $2}'`
++_TARGET_VENDOR=`grep BR2_TOOLCHAIN_BUILDROOT_VENDOR\= .config | awk -F\= -F\" '{print $2}'`
++
++# -- get target os
++_BR2_BINFMT_FLAT=`grep BR2_BINFMT_FLAT\= .config | awk -F\= '{print $2}'`
++if [ "$_BR2_BINFMT_FLAT" = "y" ]; then
++	_TARGET_OS="uclinux"
++	else
++	_TARGET_OS="linux"
++fi	
++
++# -- get libc
++_BR2_TOOLCHAIN_USES_UCLIBC=`grep BR2_TOOLCHAIN_USES_UCLIBC\= .config | awk -F\= '{print $2}'`
++_BR2_TOOLCHAIN_USES_MUSL=`grep BR2_TOOLCHAIN_USES_MUSL\= .config | awk -F\= '{print $2}'`
++
++if [ "$_BR2_TOOLCHAIN_USES_UCLIBC" = "y" ]; then
++	_LIBC="uclibc"
++	else
++	if [ "$_BR2_TOOLCHAIN_USES_MUSL" = "y" ]; then
++		_LIBC="musl"
++		else
++		_LIBC="gnu"
++	fi
++fi	 		
++
++# -- ABI
++_BR2_arm=`grep BR2_arm\= .config | awk -F\= '{print $2}'`
++_BR2_armeb=`grep BR2_armeb\= .config | awk -F\= '{print $2}'`
++_BR2_ARM_EABIHF=`grep BR2_ARM_EABIHF\= .config | awk -F\= '{print $2}'`
++if [ "$_BR2_arm" = "y" ] || [ "$_BR2_armeb" = "y" ]; then
++	if [ "$_LIBC" = "uclibc" ]; then
++		_ABI="gnueabi"
++		else
++		_ABI="eabi"
++	fi
++	if [ "$_BR2_ARM_EABIHF" = "y" ]; then
++		_ABI="${_ABI}hf"
++	fi
++fi
++	
++_GNU_TARGET_NAME="${_ARCH}-${_TARGET_VENDOR}-${_TARGET_OS}-${_LIBC}${_ABI}"
++#===============================================================
++
+ TOOLCHAIN=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
+ echo $TOOLCHAIN
+ 
+@@ -17,12 +61,14 @@ fi
+ 
+ export PATH=$PATH:$SYSROOT
+ 
+-export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
++export CROSS_COMPILE="${_GNU_TARGET_NAME}-"
+ export CROSS=${CROSS_COMPILE}
++
+ export ARCH=arm
+-export KERNELDIR=`pwd`/output/build/linux-7f280334068b7c875ade51f8f3921ab311f0c824
++_KERNELDIR=`grep BR2_LINUX_KERNEL_VERSION\= .config | awk -F\= -F\" '{print $2}'`
++export KERNELDIR=${CMDDIR}/output/build/linux-${_KERNELDIR}
+ export BB_KERNEL_SOURCES=$KERNELDIR
+-export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/arm-buildroot-linux-gnueabihf/sysroot
++export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/${_GNU_TARGET_NAME}/sysroot
+ export CC_FULLPATH="${SYSROOT}/${CROSS_COMPILE}"
+ export CC=${CROSS_COMPILE}gcc
+ export CXX=${CROSS_COMPILE}g++