[enable_gles=$enableval],
[enable_gles=20])
+AC_ARG_ENABLE([cxx03_abi],
+ [AC_HELP_STRING([--enable-cxx03-abi],
+ [Specify abi for the build])],
+ [enable_cxx03_abi=$enableval],
+ [enable_cxx03_abi=no])
+
+AM_CONDITIONAL([ENABLE_CXX03_ABI], [test x$enable_cxx03_abi = xyes])
+
+if test "x$enable_cxx03_abi" = "xyes"; then
+ DALI_CFLAGS="$DALI_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
+fi
+
DALI_CFLAGS="$DALI_CFLAGS -DDALI_GLES_VERSION=${enable_gles}"
if test "x$enable_debug" = "xyes"; then
devincludepath=${includedir}
AC_SUBST(devincludepath)
-AC_CONFIG_FILES([
- Makefile
- dali-core/Makefile
- dali-core.pc
-])
+AC_CONFIG_FILES([Makefile dali-core/Makefile])
+
+if test "x$enable_cxx03_abi" = "xyes"; then
+AC_CONFIG_FILES([dali-core-cxx03.pc])
+fi
+
+if test "x$enable_cxx03_abi" != "xyes"; then
+AC_CONFIG_FILES([dali-core.pc])
+fi
AC_OUTPUT
# Build the Dali libtool library
+if ENABLE_CXX03_ABI
+
lib_LTLIBRARIES = libdali-core.la
libdali_core_la_SOURCES = $(internal_src_files) \
libdali_core_la_LIBADD = $(DALI_LDFLAGS) \
-lpthread
+else
+
+lib_LTLIBRARIES = libdali-core_cxx11.la
+
+libdali_core_cxx11_la_SOURCES = $(internal_src_files) \
+ $(platform_abstraction_src_files) \
+ $(public_api_src_files) \
+ $(devel_api_src_files)
+
+dali_core_includes = \
+ -I../../..
+
+cxx_flags = -Werror -Wall -Wextra -Wno-unused-parameter -Wfloat-equal
+
+libdali_core_cxx11_la_CXXFLAGS = -DDALI_COMPILATION \
+ -DDALI_DATA_RW_DIR="\"${daliReadWriteDir}\"" \
+ -DDALI_DATA_RO_DIR="\"${daliReadOnlyDir}\"" \
+ $(cxx_flags) \
+ $(dali_core_includes) \
+ $(DALI_CFLAGS)
+
+libdali_core_cxx11_la_LIBADD = $(DALI_LDFLAGS) \
+ -lpthread
+
+endif
+
# Install headers under the correct subdirectories
platformabstractiondir = $(includedir)/dali/integration-api
platformabstractioneventsdir = $(includedir)/dali/integration-api/events
$(dali_core_includes) \
$(DALI_CFLAGS)
+if ENABLE_CXX03_ABI
+
linker_test_DEPENDENCIES = libdali-core.la
linker_test_LDADD = \
libdali-core.la
+
+else
+
+linker_test_DEPENDENCIES = libdali-core_cxx11.la
+linker_test_LDADD = \
+ libdali-core_cxx11.la
+
+endif
BuildRequires: pkgconfig(libtzplatform-config)
%endif
-
%description
The OpenGLES Canvas Core Library provides a 3D scene graph
+%package cxx03
+Summary: The OpenGLES Canvas Core Library with cxx03 abi
+Provides: %{name}-cxx03 = %{version}-%{release}
+
+%description cxx03
+The OpenGLES Canvas Core Library with cxx03 abi
+##############################
+# devel
+##############################
+%package devel-cxx03
+Summary: Development components for the OpenGLES Canvas Core Library with cxx03 abi
+Group: Development/Building
+Requires: %{name}-cxx03 = %{version}-%{release}
+Requires: %{name}-integration-devel-cxx03 = %{version}-%{release}
+
+%description devel-cxx03
+Development components for the OpenGLES Canvas Core Library - public headers and package config
+
+##############################
+# integration-devel
+##############################
+%package integration-devel-cxx03
+Summary: Integration development package for the OpenGLES Canvas witch cxx03 abi
+Group: Development/Building
+Requires: %{name}-cxx03 = %{version}-%{release}
+
+%description integration-devel-cxx03
+Integration development package for the OpenGLES Canvas - headers for integrating with an adaptor/platform abstraction library.
+
##############################
# devel
##############################
##############################
%build
PREFIX="/usr"
-CXXFLAGS+=" -Wall -g -Os -DNDEBUG -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -D_GLIBCXX_USE_CXX11_ABI=0 "
+CXXFLAGS+=" -Wall -g -Os -DNDEBUG -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -lgcc_s -lgcc -lpthread -Wl,-Bsymbolic-functions "
%ifarch %{arm}
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS;
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS;
LDFLAGS="${LDFLAGS:-%optflags}" ; export LDFLAGS;
+
+./configure \
+ --program-prefix=%{?_program_prefix} \
+ --prefix=%{_prefix} \
+ --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} \
+ --sbindir=%{_sbindir} \
+ --sysconfdir=%{_sysconfdir} \
+ --datadir=%{_datadir} \
+ --includedir=%{_includedir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --localstatedir=%{_localstatedir} \
+ --sharedstatedir=%{_sharedstatedir} \
+ --mandir=%{_mandir} \
+ --enable-gles=%{target_gles_version} \
+%if 0%{?enable_debug}
+ --enable-debug \
+%endif
+ --infodir=%{_infodir}
+
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-core_cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
+mv pkgconfig/dali-core.pc %{_builddir}/%{name}-%{version}/build/tizen/dali-core.pc
+popd
+
+make clean
+
./configure \
--program-prefix=%{?_program_prefix} \
--prefix=%{_prefix} \
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} \
--mandir=%{_mandir} \
+ --enable-cxx03-abi=yes \
--enable-gles=%{target_gles_version} \
%if 0%{?enable_debug}
--enable-debug \
%install
rm -rf %{buildroot}
cd build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+for FILE in libdali-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+mv dali-core.pc %{buildroot}%{_libdir}/pkgconfig/dali-core.pc
+popd
##############################
# Post Install
# Files in Binary Packages
##############################
+%files cxx03
+%if 0%{?enable_dali_smack_rules}
+%manifest dali.manifest-smack
+%else
+%manifest dali.manifest
+%endif
+%defattr(-,root,root,-)
+%{_libdir}/libdali-core.so*
+%defattr(-,app,app,-)
+%license LICENSE
+
%files
%if 0%{?enable_dali_smack_rules}
%manifest dali.manifest-smack
%manifest dali.manifest
%endif
%defattr(-,root,root,-)
-%{_libdir}/lib%{name}-core.so*
+%{_libdir}/libdali-core_cxx11.so*
%defattr(-,app,app,-)
%license LICENSE
+%files devel-cxx03
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/dali-core-cxx03.pc
+%{dev_include_path}/dali/public-api/*
+%{dev_include_path}/dali/devel-api/*
+%{dev_include_path}/dali/doc/*
+
+%files integration-devel-cxx03
+%defattr(-,root,root,-)
+%{_includedir}/dali/integration-api/*
+
%files devel
%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/*.pc
-%{dev_include_path}/%{name}/public-api/*
-%{dev_include_path}/%{name}/devel-api/*
-%{dev_include_path}/%{name}/doc/*
+%{_libdir}/pkgconfig/dali-core.pc
+%{dev_include_path}/dali/public-api/*
+%{dev_include_path}/dali/devel-api/*
+%{dev_include_path}/dali/doc/*
%files integration-devel
%defattr(-,root,root,-)
-%{_includedir}/%{name}/integration-api/*
+%{_includedir}/dali/integration-api/*