add gfortran compiler support (#9600, patch from Xiangfu Liu via Qi hardware)
[openwrt/staging/chunkeey.git] / package / base-files / Makefile
index 23bd51a0bd4fd022fdc46af44055ffc7b1953ff1..ca4a689623dec25a5a8aa6c789ee52091dda01fb 100644 (file)
@@ -247,6 +247,32 @@ define Package/librt/config
 endef
 
 
+define Package/libgfortran
+$(call Package/gcc/Default)
+  TITLE:=GFortran support library
+  DEPENDS+=@!(TARGET_avr32||TARGET_coldfire) @INSTALL_GFORTRAN
+endef
+
+define Package/libgfortran/config
+       menu "Configuration"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+
+       config LIBGFORTRAN_ROOT_DIR
+               string
+               prompt "libgfortran shared library base directory"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+               default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
+               default "/"  if NATIVE_TOOLCHAIN
+
+       config LIBGFORTRAN_FILE_SPEC
+               string
+               prompt "libgfortran shared library files (use wildcards)"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+               default "./usr/lib/libgfortran.so.*"
+
+       endmenu
+endef
+
 define Package/ldd
 $(call Package/libc/Default)
   SECTION:=utils
@@ -466,6 +492,11 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
        $(CP) $(PKG_BUILD_DIR)/libgcc_s.so.* $(1)/lib/
   endef
 
+  define Package/libgfortran/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/
+  endef
+
   define Package/libssp/install
        $(INSTALL_DIR) $(1)/lib
        $(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/
@@ -581,6 +612,14 @@ else
        exit 0
   endef
 
+  define Package/libgfortran/install
+       for file in $(call qstrip,$(CONFIG_LIBGFORTRAN_FILE_SPEC)); do \
+               dir=`dirname $$$$file` ; \
+               $(INSTALL_DIR) $(1)/$$$$dir ; \
+               $(CP) $(call qstrip,$(CONFIG_LIBGFORTRAN_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
+       done
+  endef
+
   define Package/libssp/install
        for file in $(call qstrip,$(CONFIG_LIBSSP_FILE_SPEC)); do \
                dir=`dirname $$$$file` ; \
@@ -657,5 +696,6 @@ $(eval $(call BuildPackage,libssp))
 $(eval $(call BuildPackage,libstdcpp))
 $(eval $(call BuildPackage,libpthread))
 $(eval $(call BuildPackage,librt))
+$(eval $(call BuildPackage,libgfortran))
 $(eval $(call BuildPackage,ldd))
 $(eval $(call BuildPackage,ldconfig))