summaryrefslogtreecommitdiffstats
path: root/source-builder
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2019-07-06 19:20:09 +1000
committerChris Johns <chrisj@rtems.org>2019-07-21 21:09:34 +1000
commitc799e04a8fe85bf90d7f9dfe59298a696f4b0893 (patch)
tree82006becec36090a9647cc65d65215d8cdf2a490 /source-builder
parent6: Update unstable RTEMS 6 tool chain (diff)
downloadrtems-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.cfg80
-rw-r--r--source-builder/config/libpng-1.cfg4
-rw-r--r--source-builder/config/libtiff-1.cfg2
-rw-r--r--source-builder/config/lwip-1.cfg11
-rw-r--r--source-builder/config/microwindows-1.cfg10
-rw-r--r--source-builder/config/net-snmp-5-1.cfg1
-rw-r--r--source-builder/config/t1lib-1.cfg2
-rw-r--r--source-builder/defaults.mc34
-rw-r--r--source-builder/sb/options.py12
-rwxr-xr-xsource-builder/sb/rtems-build-dep2
-rw-r--r--source-builder/sb/setbuilder.py2
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: