diff options
author | Chris Johns <chrisj@rtems.org> | 2019-07-06 19:20:09 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-07-21 21:09:34 +1000 |
commit | c799e04a8fe85bf90d7f9dfe59298a696f4b0893 (patch) | |
tree | 82006becec36090a9647cc65d65215d8cdf2a490 /source-builder | |
parent | 6: Update unstable RTEMS 6 tool chain (diff) | |
download | rtems-source-builder-c799e04a8fe85bf90d7f9dfe59298a696f4b0893.tar.bz2 |
5/packages: Add curl and update all packages with RTEMS 5 and LibBSD
- Update rtems-bsp support to correctly handle hosts for BSP.
- Clean up the options for a BSP.
- Check all RTEMS 5 packages and add 5/rtems-packages for all that build.
- Update download locations and checksum of all packages.
- The work requires the kernel and Libbsd hacve the same prefix.
Diffstat (limited to 'source-builder')
-rw-r--r-- | source-builder/config/curl-1.cfg | 80 | ||||
-rw-r--r-- | source-builder/config/libpng-1.cfg | 4 | ||||
-rw-r--r-- | source-builder/config/libtiff-1.cfg | 2 | ||||
-rw-r--r-- | source-builder/config/lwip-1.cfg | 11 | ||||
-rw-r--r-- | source-builder/config/microwindows-1.cfg | 10 | ||||
-rw-r--r-- | source-builder/config/net-snmp-5-1.cfg | 1 | ||||
-rw-r--r-- | source-builder/config/t1lib-1.cfg | 2 | ||||
-rw-r--r-- | source-builder/defaults.mc | 34 | ||||
-rw-r--r-- | source-builder/sb/options.py | 12 | ||||
-rwxr-xr-x | source-builder/sb/rtems-build-dep | 2 | ||||
-rw-r--r-- | source-builder/sb/setbuilder.py | 2 |
11 files changed, 129 insertions, 31 deletions
diff --git a/source-builder/config/curl-1.cfg b/source-builder/config/curl-1.cfg new file mode 100644 index 0000000..5c1c682 --- /dev/null +++ b/source-builder/config/curl-1.cfg @@ -0,0 +1,80 @@ +# +# Curl (https://curl.haxx.se) +# +# This configuration file configure's, make's and install's libcurl. +# + +%if %{release} == %{nil} +%define release 1 +%endif + +Name: curl-v%{curl_version}-%{_host}-%{release} +Summary: Curl provides libcurl, a package to manage http etc protocols. +Version: %{curl_version} +Release: %{release} +URL: https://curl.haxx.se + +# +# Curl Source +# +%source set curl https://curl.haxx.se/download/curl-%{curl_version}.tar.xz + +# +# Curl's configures requires includes are in the CPPFLAGS. +# +%define host_cflags_no_includes 1 + +# +# Prepare the source code. +# +%prep + build_top=$(pwd) + + source_dir_curl="curl-%{curl_version}" + %source setup curl -q -n curl-%{curl_version} + + cd ${build_top} + +# +# Build the source code. +# +%build + build_top=$(pwd) + + %{build_directory} + + mkdir -p ${build_dir} + cd ${build_dir} + + %{host_build_flags} + + ../${source_dir_curl}/configure \ + --host=%{_host} \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} + + %{__make} %{?_smp_mflags} all + + cd ${build_top} + +%install + build_top=$(pwd) + + %{__rmdir} ${SB_BUILD_ROOT} + + cd ${build_dir} + %{__make} DESTDIR=${SB_BUILD_ROOT} install + cd ${build_top} + + # + # Remove any executables created in the build + # + %{__rmdir} ${SB_BUILD_ROOT}/%{_bindir} + %{__rmdir} ${SB_BUILD_ROOT}/%{_mandir}/man1 diff --git a/source-builder/config/libpng-1.cfg b/source-builder/config/libpng-1.cfg index 2644948..dac60fc 100644 --- a/source-builder/config/libpng-1.cfg +++ b/source-builder/config/libpng-1.cfg @@ -17,7 +17,9 @@ URL: http://www.libpng.org/ # # libpng Source # -%source set libpng ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng%{libpng_src_dir_revision}/libpng-%{libpng_version}.tar.gz +#%source set libpng ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng%{libpng_src_dir_revision}/libpng-%{libpng_version}.tar.gz + +%source set libpng --rsb-file=libpng-%{libpng_version}.tar.xz http://prdownloads.sourceforge.net/libpng/libpng-%{libpng_version}.tar.xz?download # # Prepare the source code. diff --git a/source-builder/config/libtiff-1.cfg b/source-builder/config/libtiff-1.cfg index f7fa893..c9da951 100644 --- a/source-builder/config/libtiff-1.cfg +++ b/source-builder/config/libtiff-1.cfg @@ -17,7 +17,7 @@ URL: http://www.libtiff.org/ # # libtiff Source # -%source set libtiff ftp://ftp.remotesensing.org/pub/libtiff/tiff-%{tiff_version}.tar.gz +%source set libtiff http://download.osgeo.org/libtiff/tiff-%{tiff_version}.tar.gz # # Prepare the source code. diff --git a/source-builder/config/lwip-1.cfg b/source-builder/config/lwip-1.cfg index 1dd3bb7..ef736c1 100644 --- a/source-builder/config/lwip-1.cfg +++ b/source-builder/config/lwip-1.cfg @@ -17,15 +17,16 @@ URL: http://git.savannah.gnu.org/cgit/lwip.git # # LWIP Source # -%source set lwip git://git.sv.gnu.org/lwip.git?fetch?reset=hard?branch=master?checkout=c2ebf5544b4268eac9b32c7f3a689ff646d96eef +%source set lwip http://git.savannah.gnu.org/cgit/lwip.git/snapshot/lwip-%{lwip_version}.tar.gz + # # Prepare the source code. # %prep build_top=$(pwd) - source_dir_lwip="%{lwip_version}" - %source setup lwip -q -n %{lwip_version} + source_dir_lwip="lwip-%{lwip_version}" + %source setup lwip -q -n lwip-%{lwip_version} %patch setup lwip -p1 cd ${build_top} @@ -40,13 +41,13 @@ URL: http://git.savannah.gnu.org/cgit/lwip.git %{host_build_flags} - cd ${build_top}/%{lwip_version} + cd ${build_top}/lwip-%{lwip_version} export RTEMS_MAKEFILE_PATH=%{_exec_prefix} %{__make} all # cd ${build_top} #%install - build_top=$(pwd)/%{lwip_version} + build_top=$(pwd)/lwip-%{lwip_version} %{__make} install diff --git a/source-builder/config/microwindows-1.cfg b/source-builder/config/microwindows-1.cfg index d6cfab5..6ec3f30 100644 --- a/source-builder/config/microwindows-1.cfg +++ b/source-builder/config/microwindows-1.cfg @@ -8,16 +8,16 @@ %define release 1 %endif -Name: microwindows-v%{microwindows_version}-%{_host}-%{release} +Name: microwindows-%{microwindows_version}-%{_host}-%{release} Summary: microwindows is an Open Source Window System Version: %{microwindows_version} Release: %{release} -URL: http://www.microwindows.org/ +URL: http://www.microwindows.org/ # # microwindows Source # -%source set microwindows ftp://microwindows.censoft.com/pub/microwindows/microwindows-src-%{microwindows_version}.tar.gz +%source set microwindows --rsb-file=microwindows-%{microwindows_version}.tar.gz https://codeload.github.com/ghaerr/microwindows/tar.gz/%{microwindows_version} # # Prepare the source code. @@ -25,8 +25,8 @@ URL: http://www.microwindows.org/ %prep build_top=$(pwd) - source_dir_microwindows="microwin" - %source setup microwindows -q -n microwin + source_dir_microwindows="microwindows-%{microwindows_version}" + %source setup microwindows -q -n microwindows-%{microwindows_version} %patch setup microwindows -p1 cd ${build_top} diff --git a/source-builder/config/net-snmp-5-1.cfg b/source-builder/config/net-snmp-5-1.cfg index bffe430..c82e310 100644 --- a/source-builder/config/net-snmp-5-1.cfg +++ b/source-builder/config/net-snmp-5-1.cfg @@ -43,6 +43,7 @@ URL: http://www.net-snmp.org/ CFLAGS="${CFLAGS} %{net_snmp_cflags}" + LIBS="-lbsd -lm -lz -lrtemsdefaultconfig" \ ../${source_dir_net_snmp}/configure \ --host=%{_host} \ --prefix=%{_prefix} \ diff --git a/source-builder/config/t1lib-1.cfg b/source-builder/config/t1lib-1.cfg index 3cb02c5..6202306 100644 --- a/source-builder/config/t1lib-1.cfg +++ b/source-builder/config/t1lib-1.cfg @@ -17,7 +17,7 @@ URL: http://www.t1lib.org/ # # t1lib Source # -%source set t1lib ftp://ftp.netbsd.org/pub/pkgsrc/distfiles/t1lib-%{t1lib_version}.tar.gz +%source set t1lib http://ftp.netbsd.org/pub/pkgsrc/distfiles/t1lib-%{t1lib_version}.tar.gz # # Prepare the source code. diff --git a/source-builder/defaults.mc b/source-builder/defaults.mc index 3508877..646be78 100644 --- a/source-builder/defaults.mc +++ b/source-builder/defaults.mc @@ -64,14 +64,16 @@ _uid: none, convert, '%(%{__id_u} -n)' # Default flags that can be overridded to supply specific host or build # flags and include paths to the tools. The host is the final platform # the tools will run on and build is the host building the tools. -host_cflags: none, convert, '-O2 -pipe' -host_cxxflags: none, convert, '-O2 -pipe' +host_cflags: none, convert, '-O2 -g -pipe' +host_cxxflags: none, convert, '-O2 -g -pipe' host_ldflags: none, convert, '' host_includes: none, convert, '' -build_cflags: none, convert, '-O2 -pipe' -build_cxxflags: none, convert, '-O2 -pipe' +host_libs: none, convert, '' +build_cflags: none, convert, '-O2 -g -pipe' +build_cxxflags: none, convert, '-O2 -g -pipe' build_ldflags: none, convert, '' build_includes: none, convert, '' +build_libs: none, convert, '' # Extra path a platform can override. _extra_path: none, none, '%{_sbdir}' @@ -203,19 +205,22 @@ SB_SOURCE_DIR="%{_sourcedir}" SB_BUILD_DIR="%{_builddir}" # host == build, use build; host != build, host uses host and build uses build SB_HOST_CPPFLAGS="%{host_includes}" -SB_HOST_CFLAGS="%{host_cflags} %{host_includes}" -SB_HOST_CXXFLAGS="%{host_cxxflags} %{host_includes}" +# Optionally do not add includes to c/cxx flags as newer configure's complain +SB_HOST_CFLAGS="%{host_cflags} %{!?host_cflags_no_includes %{host_includes}}" +SB_HOST_CXXFLAGS="%{host_cxxflags} %{!?host_cflags_no_includes %{host_includes}}" SB_HOST_LDFLAGS="%{host_ldflags} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}" +SB_HOST_LIBS="%{host_libs}" SB_BUILD_CFLAGS="%{build_cflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}" SB_BUILD_CXXFLAGS="%{build_cxxflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}" SB_BUILD_LDFLAGS="%{build_ldflags} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}" +SB_BUILD_LBS="%{build_libs}" SB_CFLAGS="${SB_BUILD_CFLAGS} %{build_includes}" SB_CXXFLAGS="${SB_BUILD_CXXFLAGS} %{build_includes}" SB_ARCH="%{_arch}" SB_OS="%{_os}" export SB_SOURCE_DIR SB_BUILD_DIR SB_ARCH SB_OS -export SB_HOST_CPPFLAGS SB_HOST_CFLAGS SB_HOST_CXXFLAGS SB_HOST_LDFLAGS -export SB_BUILD_CFLAGS SB_BUILD_CXXFLAGS SB_BUILD_LDFLAGS +export SB_HOST_CPPFLAGS SB_HOST_CFLAGS SB_HOST_CXXFLAGS SB_HOST_LDFLAGS SB_HOST_LIBS +export SB_BUILD_CFLAGS SB_BUILD_CXXFLAGS SB_BUILD_LDFLAGS SB_BUILD_LIBS export SB_CFLAGS SB_CXXFLAGS # Documentation SB_DOC_DIR="%{_docdir}" @@ -326,11 +331,13 @@ if test "%{_build}" != "%{_host}" ; then CFLAGS="${SB_HOST_CFLAGS}" CXXFLAGS="${SB_HOST_CXXFLAGS}" LDFLAGS="${SB_HOST_LDFLAGS}" + LIBS="${SB_HOST_LIBS}" # Host CPPFLAGS_FOR_HOST="${SB_HOST_CPPFLAGS}" CFLAGS_FOR_HOST="${SB_HOST_CFLAGS}" CXXFLAGS_FOR_HOST="${SB_HOST_CXXFLAGS}" LDFLAGS_FOR_HOST="${SB_HOST_LDFLAGS}" + LIBS_FOR_HOST="${SB_HOST_LIBS}" CXXFLAGS_FOR_HOST="${SB_HOST_CFLAGS}" CC_FOR_HOST=$(echo "%{_host_cc} ${SB_HOST_CFLAGS}" | sed -e 's,-std=gnu99 ,,') CXX_FOR_HOST=$(echo "%{_host_cxx} ${SB_HOST_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,') @@ -338,30 +345,33 @@ if test "%{_build}" != "%{_host}" ; then CFLAGS_FOR_BUILD="${SB_BUILD_CFLAGS}" CXXFLAGS_FOR_BUILD="${SB_BUILD_CXXFLAGS}" LDFLAGS_FOR_BUILD="${SB_BUILD_LDFLAGS}" + LIBS_FOR_BUILD="${SB_BUILD_LIBS}" CXXFLAGS_FOR_BUILD="${SB_BUILD_CFLAGS}" CC_FOR_BUILD=$(echo "%{__cc} ${SB_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,') CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_BUILD_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,') else LDFLAGS="${SB_BUILD_LDFLAGS}" + LIBS="${SB_BUILD_LIBS}" CC=$(echo "%{__cc} ${SB_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,') CXX=$(echo "%{__cxx} ${SB_BUILD_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,') CC_FOR_BUILD=${CC} CXX_FOR_BUILD=${CXX} fi -export CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS -export CC_FOR_HOST CXX_FOR_HOST CPPFLAGS_FOR_HOST CFLAGS_FOR_HOST CXXFLAGS_FOR_HOST LDFLAGS_FOR_HOST -export CC_FOR_BUILD CXX_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD''' +export CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS LIBS +export CC_FOR_HOST CXX_FOR_HOST CPPFLAGS_FOR_HOST CFLAGS_FOR_HOST CXXFLAGS_FOR_HOST LDFLAGS_FOR_HOST LIBS_FOR_HOST +export CC_FOR_BUILD CXX_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD LIBS_FOR_BUILS''' # Build/build flags. build_build_flags: none, none, ''' # Build and build flags means force build == host # gcc is not ready to be compiled with -std=gnu99 LDFLAGS="${SB_HOST_LDFLAGS}" +LIBS="${SB_HOST_LIBS}" CC=$(echo "%{__cc} ${SB_CFLAGS}" | sed -e 's,-std=gnu99 ,,') CXX=$(echo "%{__cxx} ${SB_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,') CC_FOR_BUILD=${CC} CXX_FOR_BUILD=${CXX} -export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS LDFLAGS''' +export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS LDFLAGS LIBS''' # Default package settings _forced_static: none, none, '-Xlinker -Bstatic ${LIBS_STATIC} -Xlinker -Bdynamic' diff --git a/source-builder/sb/options.py b/source-builder/sb/options.py index ae67eeb..d8e7a88 100644 --- a/source-builder/sb/options.py +++ b/source-builder/sb/options.py @@ -420,10 +420,14 @@ class command_line: _host = self.defaults.expand('%{_host}') _build = self.defaults.expand('%{_build}') _target = self.defaults.expand('%{_target}') - if len(_target): - return len(_host) and len(_build) and (_target) and \ - _host != _build and _host != _target - return len(_host) and len(_build) and _host != _build + # + # This has been removed to fix how RTEMS 3rd party libraries + # are built. This may break Cxc tools builds. + # + # if len(_target): + # return len(_host) and len(_build) and (_target) and \ + # _host != _build and _host != _target + return len(_target) and len(_host) and len(_build) and _host != _build def user_macros(self): # diff --git a/source-builder/sb/rtems-build-dep b/source-builder/sb/rtems-build-dep index 1f795d3..48a0823 100755 --- a/source-builder/sb/rtems-build-dep +++ b/source-builder/sb/rtems-build-dep @@ -141,7 +141,7 @@ fi # Library file # if [ ${op} = "library" ]; then - if [ "${OS}" = "Windows_NT" -a "${OSTYPE}" -ne "cygwin" ]; then + if [ "${OS}" = "Windows_NT" -a "${OSTYPE}" != "cygwin" ]; then sep=';' else sep=':' diff --git a/source-builder/sb/setbuilder.py b/source-builder/sb/setbuilder.py index c94ff8b..159a673 100644 --- a/source-builder/sb/setbuilder.py +++ b/source-builder/sb/setbuilder.py @@ -413,7 +413,7 @@ class buildset: # Dump post build macros. # log.trace('_bset: macros post-build') - log.trace(str(macros)) + log.trace(str(b.macros)) else: raise error.general('invalid config type: %s' % (configs[s])) except error.general as gerr: |