[rtems-source-builder commit] graphics: Add 3rd party graphics support back to the master branch.

Chris Johns chrisj at rtems.org
Fri Apr 15 02:00:14 UTC 2016


Module:    rtems-source-builder
Branch:    master
Commit:    f5e724fc077261119129f7a830396d79536cc0f4
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=f5e724fc077261119129f7a830396d79536cc0f4

Author:    Chris Johns <chrisj at rtems.org>
Date:      Fri Apr 15 11:56:36 2016 +1000

graphics: Add 3rd party graphics support back to the master branch.

The support is added at the top level and so not lost when we
move to a new version of RTEMS.

The change also moves all 3rd party packages to use a common
rtems-package.bset build set file.

All packages except Microwindows itself build cleanly.

---

 rtems/config/databases/sqlite.bset                | 15 +++++++++++++++
 rtems/config/graphics/freetype2.bset              | 15 +++++++++++++++
 rtems/config/graphics/graphics-all.bset           |  9 +++++++++
 rtems/config/graphics/libjpeg.bset                | 15 +++++++++++++++
 rtems/config/graphics/libpng-1.6.21-1.cfg         | 22 ++++++++++++++++++++++
 rtems/config/graphics/libpng.bset                 | 15 +++++++++++++++
 rtems/config/graphics/libtiff.bset                | 15 +++++++++++++++
 rtems/config/graphics/microwindows-0.93-dev-1.cfg |  8 ++++++++
 rtems/config/graphics/microwindows.bset           | 16 ++++++++++++++++
 rtems/config/graphics/nxlib.bset                  | 16 ++++++++++++++++
 rtems/config/graphics/t1lib-5.1.2-1.cfg           |  6 ++++++
 rtems/config/graphics/t1lib.bset                  | 15 +++++++++++++++
 rtems/config/net-mgmt/net-snmp.bset               | 20 ++++++++++++++++++++
 rtems/config/net/lwip.bset                        | 15 +++++++++++++++
 rtems/config/net/ntp.bset                         | 15 +++++++++++++++
 rtems/config/net/protobuf.bset                    | 15 +++++++++++++++
 rtems/config/rtems-package.bset                   | 13 +++++++++++++
 source-builder/config/freetype-1.cfg              |  5 ++++-
 source-builder/config/libpng-1.cfg                |  2 +-
 source-builder/config/libtiff-1.cfg               |  2 +-
 source-builder/config/microwindows-1.cfg          |  9 ++-------
 source-builder/config/t1lib-1.cfg                 |  4 +---
 source-builder/defaults.mc                        | 19 ++++++++++++-------
 23 files changed, 266 insertions(+), 20 deletions(-)

diff --git a/rtems/config/databases/sqlite.bset b/rtems/config/databases/sqlite.bset
new file mode 100644
index 0000000..f7c97b6
--- /dev/null
+++ b/rtems/config/databases/sqlite.bset
@@ -0,0 +1,15 @@
+#
+# Build set for Sqlite
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build Sqlite
+#
+databases/sqlite-3.8.8.1-1
diff --git a/rtems/config/graphics/freetype2.bset b/rtems/config/graphics/freetype2.bset
new file mode 100644
index 0000000..cb6c168
--- /dev/null
+++ b/rtems/config/graphics/freetype2.bset
@@ -0,0 +1,15 @@
+#
+# Build set for freetype
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build freetype.
+#
+graphics/freetype-2.4.10-1.cfg
diff --git a/rtems/config/graphics/graphics-all.bset b/rtems/config/graphics/graphics-all.bset
new file mode 100644
index 0000000..5f94184
--- /dev/null
+++ b/rtems/config/graphics/graphics-all.bset
@@ -0,0 +1,9 @@
+#
+# All RTEMS Graphics Build Sets
+#
+
+graphics/libjpeg
+graphics/libpng
+graphics/libtiff
+graphics/t1lib
+graphics/nxlib
diff --git a/rtems/config/graphics/libjpeg.bset b/rtems/config/graphics/libjpeg.bset
new file mode 100644
index 0000000..a976edc
--- /dev/null
+++ b/rtems/config/graphics/libjpeg.bset
@@ -0,0 +1,15 @@
+#
+# Build set for libjpeg
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build libjpeg.
+#
+graphics/libjpeg-9a-1.cfg
diff --git a/rtems/config/graphics/libpng-1.6.21-1.cfg b/rtems/config/graphics/libpng-1.6.21-1.cfg
new file mode 100644
index 0000000..185413f
--- /dev/null
+++ b/rtems/config/graphics/libpng-1.6.21-1.cfg
@@ -0,0 +1,22 @@
+#
+# libpng 1.6.21
+#
+
+%if %{release} == %{nil}
+ %define release 1
+%endif
+
+%include %{_configdir}/rtems-bsp.cfg
+
+#
+# libpng Version
+#
+%define libpng_version 1.6.21
+%define libpng_src_dir_revision 16
+
+#%hash md5 libpng-%{libpng_version}.tar.gz 6652e428d1d3fc3c6cb1362159b1cf3b
+
+#
+# libpng Build configuration
+#
+%include %{_configdir}/libpng-1.cfg
diff --git a/rtems/config/graphics/libpng.bset b/rtems/config/graphics/libpng.bset
new file mode 100644
index 0000000..4e6db7d
--- /dev/null
+++ b/rtems/config/graphics/libpng.bset
@@ -0,0 +1,15 @@
+#
+# Build set for libpng
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build libpng.
+#
+graphics/libpng-1.6.21-1.cfg
diff --git a/rtems/config/graphics/libtiff.bset b/rtems/config/graphics/libtiff.bset
new file mode 100644
index 0000000..35ddd44
--- /dev/null
+++ b/rtems/config/graphics/libtiff.bset
@@ -0,0 +1,15 @@
+#
+# Build set for libtiff
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build libtiff.
+#
+graphics/libtiff-4.0.2-1.cfg
diff --git a/rtems/config/graphics/microwindows-0.93-dev-1.cfg b/rtems/config/graphics/microwindows-0.93-dev-1.cfg
index c0cdc86..7050fdb 100644
--- a/rtems/config/graphics/microwindows-0.93-dev-1.cfg
+++ b/rtems/config/graphics/microwindows-0.93-dev-1.cfg
@@ -13,6 +13,14 @@
 #
 %define microwindows_version 0.93-dev
 
+%define rtems_git_tools_4_11 %{rtems_http_git}/rtems-tools/plain/tools/4.11
+
+%source set microwindows git://github.com/alex-sever-h/microwin.git
+%patch add microwindows %{rtems_git_tools_4_11}/microwindows/microwindows-0.93-dev.diff
+%hash md5 microwindows-0.93-dev.diff 5b06e77d9ee42c8ff0032bba07d01c1a
+%patch add microwindows %{rtems_git_tools_4_11}/microwindows/microwindows-0.93-dev-without-keyboard.diff
+%hash md5 microwindows-0.93-dev-without-keyboard.diff a675f55750754e1cd82a17496f0e8fab
+
 #
 # microwindows Build configuration
 #
diff --git a/rtems/config/graphics/microwindows.bset b/rtems/config/graphics/microwindows.bset
new file mode 100644
index 0000000..68396c9
--- /dev/null
+++ b/rtems/config/graphics/microwindows.bset
@@ -0,0 +1,16 @@
+#
+# Build set for Nano-X Window System
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build microwindows.
+#
+graphics/freetype2
+graphics/microwindows-0.93-dev-1.cfg
diff --git a/rtems/config/graphics/nxlib.bset b/rtems/config/graphics/nxlib.bset
new file mode 100644
index 0000000..4eb0422
--- /dev/null
+++ b/rtems/config/graphics/nxlib.bset
@@ -0,0 +1,16 @@
+#
+# Build set for nxlib
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build nxlib.
+#
+graphics/microwindows
+graphics/nxlib-0.47-dev-1.cfg
diff --git a/rtems/config/graphics/t1lib-5.1.2-1.cfg b/rtems/config/graphics/t1lib-5.1.2-1.cfg
index da18ba1..58eaa3b 100644
--- a/rtems/config/graphics/t1lib-5.1.2-1.cfg
+++ b/rtems/config/graphics/t1lib-5.1.2-1.cfg
@@ -16,6 +16,12 @@
 %hash md5 t1lib-%{t1lib_version}.tar.gz a5629b56b93134377718009df1435f3c
 
 #
+# Patch for RTEMS.
+#
+%patch add t1lib https://raw.githubusercontent.com/yangqiao/rtems-tools/graphics/tools/4.11/t1lib/t1lib-5.1.2.diff
+%hash md5 t1lib-5.1.2.diff 98eeed85780227adf8525deab3679877
+
+#
 # t1lib Build configuration
 #
 %include %{_configdir}/t1lib-1.cfg
diff --git a/rtems/config/graphics/t1lib.bset b/rtems/config/graphics/t1lib.bset
new file mode 100644
index 0000000..e74a650
--- /dev/null
+++ b/rtems/config/graphics/t1lib.bset
@@ -0,0 +1,15 @@
+#
+# Build set for adobe type 1 library
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build t1lib.
+#
+graphics/t1lib-5.1.2-1.cfg
diff --git a/rtems/config/net-mgmt/net-snmp.bset b/rtems/config/net-mgmt/net-snmp.bset
new file mode 100644
index 0000000..667acaa
--- /dev/null
+++ b/rtems/config/net-mgmt/net-snmp.bset
@@ -0,0 +1,20 @@
+#
+# Build set for NetSNMP
+#
+
+%define release 1
+
+#
+# RTEMS Version
+#
+%define rtems_version 4.11
+
+#
+# The RTEMS URL paths.
+#
+%include rtems-urls.bset
+
+#
+# Build NetSNMP.
+#
+net-mgmt/net-snmp-5.7.2.1-1
diff --git a/rtems/config/net/lwip.bset b/rtems/config/net/lwip.bset
new file mode 100644
index 0000000..79a83e6
--- /dev/null
+++ b/rtems/config/net/lwip.bset
@@ -0,0 +1,15 @@
+#
+# Build set for LWIP
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build LWIP.
+#
+net/lwip-1-1.cfg
diff --git a/rtems/config/net/ntp.bset b/rtems/config/net/ntp.bset
new file mode 100644
index 0000000..e7feefa
--- /dev/null
+++ b/rtems/config/net/ntp.bset
@@ -0,0 +1,15 @@
+#
+# Build set for NTP
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build NTP.
+#
+net/ntp-4.2.6p5-1
diff --git a/rtems/config/net/protobuf.bset b/rtems/config/net/protobuf.bset
new file mode 100644
index 0000000..1f09f6d
--- /dev/null
+++ b/rtems/config/net/protobuf.bset
@@ -0,0 +1,15 @@
+#
+# Build set for Google Protocol Buffers
+#
+
+%define release 1
+
+#
+# The RTEMS Package defines
+#
+%include rtems-package.bset
+
+#
+# Build Protocol Buffers.
+#
+net/protobuf-2.6.1-1
diff --git a/rtems/config/rtems-package.bset b/rtems/config/rtems-package.bset
new file mode 100644
index 0000000..2b0ffc4
--- /dev/null
+++ b/rtems/config/rtems-package.bset
@@ -0,0 +1,13 @@
+#
+# Build Set Base defines for RTEMS Packages
+#
+
+#
+# Get the version of RTEMS
+#
+%include rtems-version.bset
+
+#
+# Pick up the RTEMS URLs.
+#
+%include rtems-urls.bset
diff --git a/source-builder/config/freetype-1.cfg b/source-builder/config/freetype-1.cfg
index 7b930ce..37f1438 100644
--- a/source-builder/config/freetype-1.cfg
+++ b/source-builder/config/freetype-1.cfg
@@ -41,7 +41,10 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
   %{host_build_flags}
 
-   ../${source_dir_freetype}/configure \
+  %ifos freebsd
+  GNUMAKE=%{__make} \
+  %endif
+  ../${source_dir_freetype}/configure \
     --host=%{_host} \
     --prefix=%{_prefix} \
     --bindir=%{_bindir} \
diff --git a/source-builder/config/libpng-1.cfg b/source-builder/config/libpng-1.cfg
index 6e4ccd5..6821089 100644
--- a/source-builder/config/libpng-1.cfg
+++ b/source-builder/config/libpng-1.cfg
@@ -12,7 +12,7 @@ Name:      libpng-v%{libpng_version}-%{_host}-%{release}
 Summary:   libpng is the official PNG reference library
 Version:   %{libpng_version}
 Release:   %{release}
-URL:     http://www.libpng.org/
+URL:       http://www.libpng.org/
 BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
 #
diff --git a/source-builder/config/libtiff-1.cfg b/source-builder/config/libtiff-1.cfg
index b0030e0..f445bf0 100644
--- a/source-builder/config/libtiff-1.cfg
+++ b/source-builder/config/libtiff-1.cfg
@@ -42,7 +42,7 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
   %{host_build_flags}
 
-  CFLAGS= CXXFLAGS= ../${source_dir_tiff}/configure \
+  ../${source_dir_tiff}/configure \
     --host=%{_host} \
     --prefix=%{_prefix} \
     --bindir=%{_bindir} \
diff --git a/source-builder/config/microwindows-1.cfg b/source-builder/config/microwindows-1.cfg
index a4f5cea..189a3a8 100644
--- a/source-builder/config/microwindows-1.cfg
+++ b/source-builder/config/microwindows-1.cfg
@@ -18,11 +18,7 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 #
 # microwindows Source
 #
-%source set microwindows git://github.com/alex-sever-h/microwin.git
-%patch add microwindows %{rtems_git_tools}/microwindows/microwindows-0.93-dev.diff
-%hash md5 microwindows-0.93-dev.diff 5b06e77d9ee42c8ff0032bba07d01c1a
-%patch add microwindows %{rtems_git_tools}/microwindows/microwindows-0.93-dev-without-keyboard.diff
-%hash md5 microwindows-0.93-dev-without-keyboard.diff a675f55750754e1cd82a17496f0e8fab
+%source set microwindows ftp://microwindows.censoft.com/pub/microwindows/microwindows-src-%{microwindows_version}.tar.gz
 
 #
 # Prepare the source code.
@@ -38,7 +34,6 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
 #
 # Build the source code.
-# The configure should be run in the source dir
 #
 %build
   build_top=$(pwd)
@@ -53,7 +48,7 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
   export RTEMS_MAKEFILE_PATH=%{rtems_bsp_prefix}
 
-  make -f Makefile.rtems CONFIG=`pwd`/Configs/config.rtems -k all
+  %{__make} -f Makefile.rtems CONFIG=`pwd`/Configs/config.rtems -k all
 
   cd ${build_top}
 
diff --git a/source-builder/config/t1lib-1.cfg b/source-builder/config/t1lib-1.cfg
index b11e1eb..d2a47a2 100644
--- a/source-builder/config/t1lib-1.cfg
+++ b/source-builder/config/t1lib-1.cfg
@@ -12,15 +12,13 @@ Name:      t1lib-v%{t1lib_version}-%{_host}-%{release}
 Summary:   t1lib is the official PNG reference library
 Version:   %{t1lib_version}
 Release:   %{release}
-URL:     http://www.t1lib.org/
+URL:       http://www.t1lib.org/
 BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 
 #
 # t1lib Source
 #
 %source set t1lib ftp://ftp.netbsd.org/pub/pkgsrc/distfiles/t1lib-%{t1lib_version}.tar.gz
-%patch add t1lib https://raw.githubusercontent.com/yangqiao/rtems-tools/graphics/tools/4.11/t1lib/t1lib-5.1.2.diff
-%hash md5 t1lib-5.1.2.diff 98eeed85780227adf8525deab3679877
 
 #
 # Prepare the source code.
diff --git a/source-builder/defaults.mc b/source-builder/defaults.mc
index c65fa22..f6d2ed6 100644
--- a/source-builder/defaults.mc
+++ b/source-builder/defaults.mc
@@ -198,19 +198,20 @@ export SB_ORIG_PATH=${PATH}
 %{?_prefix:SB_PREFIX_CLEAN=$(echo "%{_prefix}" | %{__sed} -e 's/^\///')}
 SB_SOURCE_DIR="%{_sourcedir}"
 SB_BUILD_DIR="%{_builddir}"
-# host == build, use build; host != build , host uses host and build uses build
+# 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}"
-SB_HOST_LDFLAGS="%{?host_ldflags:%{host_ldflags}}%{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
+SB_HOST_LDFLAGS="%{?host_ldflags:%{host_ldflags}} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
 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:%{build_ldflags}}%{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
+SB_BUILD_LDFLAGS="%{?build_ldflags:%{build_ldflags}} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
 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_CFLAGS SB_HOST_CXXFLAGS SB_HOST_LDFLAGS
+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_CFLAGS SB_CXXFLAGS
 # Documentation
@@ -298,7 +299,9 @@ FFLAGS="${FFLAGS:-${SB_CFLAGS}}" ; export FFLAGS ;
 # Build script support.
 build_directory:     none,    none,     '''
 if test "%{_build}" != "%{_host}" ; then
-  if test -z "%{_target}" ; then
+  # Cross-build (Xc) if no target or the host and target match.
+  # Canadian-cross (Cxc) if build, host and target are all different.
+  if test -z "%{_target}" -o "%{_host}" == "%{_target}" ; then
     build_dir="build-xc"
   else
     build_dir="build-cxc"
@@ -316,10 +319,12 @@ if test "%{_build}" != "%{_host}" ; then
   # Cross build
   CC=$(echo "%{_host}-%{_host_cc}" | sed -e 's,-std=gnu99 ,,')
   CXX=$(echo "%{_host}-%{_host_cxx}" | sed -e 's,-std=gnu99 ,,')
+  CPPFLAGS="${SB_HOST_CPPFLAGS}"
   CFLAGS="${SB_HOST_CFLAGS}"
   CXXFLAGS="${SB_HOST_CXXFLAGS}"
   LDFLAGS="${SB_HOST_LDFLAGS}"
   # 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}"
@@ -340,8 +345,8 @@ else
   CC_FOR_BUILD=${CC}
   CXX_FOR_BUILD=${CXX}
 fi
-export CC CXX CFLAGS CXXFLAGS LDFLAGS
-export CC_FOR_HOST CXX_FOR_HOST CFLAGS_FOR_HOST CXXFLAGS_FOR_HOST LDFLAGS_FOR_HOST
+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'''
 
 # Build/build flags.




More information about the vc mailing list