toolchain: Package libgomp
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 4 Apr 2017 02:00:44 +0000 (19:00 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Thu, 11 May 2017 20:42:55 +0000 (13:42 -0700)
Some external toolchains may be configured to enable OpenMP. Provide a
package for these libraries which can be used by other packages.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
package/libs/toolchain/Makefile

index 0bf482402d0f908d2e07604eb99b6ddb0c6935f1..ce0acd19b2d224718b84a389e712fe3c8342772c 100644 (file)
@@ -275,6 +275,32 @@ define Package/libgfortran/config
        endmenu
 endef
 
+define Package/libgomp
+$(call Package/gcc/Default)
+  TITLE:=OpenMP support library
+endef
+
+define Package/libgomp/config
+       menu "Configuration"
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgomp
+
+       config LIBGOMP_ROOT_DIR
+               string
+               prompt "libgomp shared library base directory"
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgomp
+               default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
+               default "/"  if NATIVE_TOOLCHAIN
+
+       config LIBGOMP_FILE_SPEC
+               string
+               prompt "libgomp shared library files (use wildcards)"
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgomp
+               default "./lib/libgomp.so*"
+
+       endmenu
+endef
+
+
 define Package/ldd
 $(call Package/libc/Default)
   DEPENDS:=@!USE_MUSL
@@ -561,6 +587,14 @@ else
        exit 0
   endef
 
+  define Package/libgomp/install
+       for file in $(call qstrip,$(CONFIG_LIBGOMP_FILE_SPEC)); do \
+               $(INSTALL_DIR) $(1)/lib ; \
+               $(CP) $(call qstrip,$(CONFIG_LIBGOMP_ROOT_DIR))/$$$$file $(1)/lib/ ; \
+       done ; \
+       exit 0
+  endef
+
   define Package/ldd/install
        for file in $(call qstrip,$(CONFIG_LDD_FILE_SPEC)); do \
                dir=`dirname $$$$file` ; \
@@ -590,5 +624,6 @@ $(eval $(call BuildPackage,libpthread))
 $(eval $(call BuildPackage,libthread-db))
 $(eval $(call BuildPackage,librt))
 $(eval $(call BuildPackage,libgfortran))
+$(eval $(call BuildPackage,libgomp))
 $(eval $(call BuildPackage,ldd))
 $(eval $(call BuildPackage,ldconfig))