add gfortran compiler support (#9600, patch from Xiangfu Liu via Qi hardware)
SVN-Revision: 27262
This commit is contained in:
		| @@ -247,6 +247,32 @@ define Package/librt/config | |||||||
| endef | 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 | define Package/ldd | ||||||
| $(call Package/libc/Default) | $(call Package/libc/Default) | ||||||
|   SECTION:=utils |   SECTION:=utils | ||||||
| @@ -466,6 +492,11 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) | |||||||
| 	$(CP) $(PKG_BUILD_DIR)/libgcc_s.so.* $(1)/lib/ | 	$(CP) $(PKG_BUILD_DIR)/libgcc_s.so.* $(1)/lib/ | ||||||
|   endef |   endef | ||||||
|  |  | ||||||
|  |   define Package/libgfortran/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/usr/lib | ||||||
|  | 	$(CP) $(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/ | ||||||
|  |   endef | ||||||
|  |  | ||||||
|   define Package/libssp/install |   define Package/libssp/install | ||||||
| 	$(INSTALL_DIR) $(1)/lib | 	$(INSTALL_DIR) $(1)/lib | ||||||
| 	$(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/ | 	$(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/ | ||||||
| @@ -581,6 +612,14 @@ else | |||||||
| 	exit 0 | 	exit 0 | ||||||
|   endef |   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 |   define Package/libssp/install | ||||||
| 	for file in $(call qstrip,$(CONFIG_LIBSSP_FILE_SPEC)); do \ | 	for file in $(call qstrip,$(CONFIG_LIBSSP_FILE_SPEC)); do \ | ||||||
| 		dir=`dirname $$$$file` ; \ | 		dir=`dirname $$$$file` ; \ | ||||||
| @@ -657,5 +696,6 @@ $(eval $(call BuildPackage,libssp)) | |||||||
| $(eval $(call BuildPackage,libstdcpp)) | $(eval $(call BuildPackage,libstdcpp)) | ||||||
| $(eval $(call BuildPackage,libpthread)) | $(eval $(call BuildPackage,libpthread)) | ||||||
| $(eval $(call BuildPackage,librt)) | $(eval $(call BuildPackage,librt)) | ||||||
|  | $(eval $(call BuildPackage,libgfortran)) | ||||||
| $(eval $(call BuildPackage,ldd)) | $(eval $(call BuildPackage,ldd)) | ||||||
| $(eval $(call BuildPackage,ldconfig)) | $(eval $(call BuildPackage,ldconfig)) | ||||||
|   | |||||||
| @@ -89,3 +89,11 @@ config INSTALL_LIBGCJ | |||||||
| 	default n | 	default n | ||||||
| 	help | 	help | ||||||
| 	    Build/install java compiler and GNU classpath ? | 	    Build/install java compiler and GNU classpath ? | ||||||
|  |  | ||||||
|  |  | ||||||
|  | config INSTALL_GFORTRAN | ||||||
|  | 	bool | ||||||
|  | 	prompt "Build/install fortran compiler?" if TOOLCHAINOPTS | ||||||
|  | 	default n | ||||||
|  | 	help | ||||||
|  | 	    Build/install GNU fortran compiler ? | ||||||
|   | |||||||
| @@ -86,7 +86,7 @@ HOST_STAMP_CONFIGURED:=$(GCC_BUILD_DIR)/.configured | |||||||
| HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed | HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed | ||||||
|  |  | ||||||
| SEP:=, | SEP:=, | ||||||
| TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)" | TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)" | ||||||
|  |  | ||||||
| export libgcc_cv_fixed_point=no | export libgcc_cv_fixed_point=no | ||||||
| ifdef CONFIG_USE_UCLIBC | ifdef CONFIG_USE_UCLIBC | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich