$(MAKE) $(GIT_DRIVERS_THIRDPARTY)
$(MAKE) $(GIT_DRIVERS)
$(MAKE) $(GIT_LIBRARIES)/ffmpeg
- $(MAKE) $(GIT_LIBRARIES)/OpenThreads
$(MAKE) $(GIT_KERNEL)
$(MAKE) $(GIT_PLUGINS)
# prerequisites.mk
prerequisites:
- $(MAKE) $(SOURCE_DIR)/neutrino-hd $(GIT_BOOTLOADER) $(GIT_DRIVERS_THIRDPARTY) $(GIT_DRIVERS) $(GIT_LIBRARIES)/ffmpeg $(GIT_LIBRARIES)/OpenThreads $(GIT_KERNEL) $(GIT_PLUGINS)
+ $(MAKE) $(SOURCE_DIR)/neutrino-hd $(GIT_BOOTLOADER) $(GIT_DRIVERS_THIRDPARTY) $(GIT_DRIVERS) $(GIT_LIBRARIES)/ffmpeg $(GIT_KERNEL) $(GIT_PLUGINS)
# bootstrap.mk
BOOTSTRAP = targetprefix $(BUILD_TMP) $(CROSS_BASE) $(HOSTPREFIX)/bin
$(ARCHIVE)/openssl-$(OPENSSL_VER)$(OPENSSL_SUBVER).tar.gz:
$(WGET) http://www.openssl.org/source/openssl-$(OPENSSL_VER)$(OPENSSL_SUBVER).tar.gz
+$(ARCHIVE)/OpenThreads-$(OPENTHREADS_VER).zip:
+ $(WGET) http://trac.openscenegraph.org/downloads/developer_releases/OpenThreads-$(OPENTHREADS_VER).zip
+
$(ARCHIVE)/libogg-1.3.1.tar.gz:
$(WGET) http://www.fhloston-paradise.de/libogg-1.3.1.tar.gz
REPO_GUI_YWEB = gui-yweb.git
REPO_LIBRARY_DVBSI = library-dvbsi.git
REPO_LIBRARY_FFMPEG_CST = library-ffmpeg-cst.git
-REPO_LIBRARY_OPENTHREADS = library-openthreads.git # (Enthält Submodules)
-REPO_LIBRARY_OPENTHREADS_INCLUDE = library-openthreads-include.git
-REPO_LIBRARY_OPENTHREADS_SRC = library-openthreads-src.git
REPO_KERNEL_CST = linux-kernel-cst.git
REPO_PLUGIN_BLOCKADS = plugin-blockads.git
REPO_PLUGIN_COOLITSCLIMAX = plugin-cooliTSclimax.git
$(REMOVE)/libogg-1.3.1
touch $@
-$(D)/openthreads: | $(TARGETPREFIX)
- tar -C $(SOURCE_DIR)/git/LIBRARIES -cp OpenThreads --exclude=.git | tar -C $(BUILD_TMP) -x
- pushd $(BUILD_TMP)/OpenThreads && \
- rm CMakeFiles/* -rf CMakeCache.txt cmake_install.cmake && \
- cmake . -DCMAKE_BUILD_TYPE=Release \
+$(D)/openthreads: $(ARCHIVE)/OpenThreads-$(OPENTHREADS_VER).zip | $(TARGETPREFIX)
+ unzip $(ARCHIVE)/OpenThreads-$(OPENTHREADS_VER).zip -d $(BUILD_TMP)
+ set -e; cd $(BUILD_TMP)/OpenThreads-$(OPENTHREADS_VER); \
+ $(PATCH)/openthreads-replaced-openthreads.pc-with-openthreads.pc.in.patch; \
+ $(PATCH)/openthreads-add-cached-settings-for-gccs-atomic-builtins.patch; \
+ echo "# dummy file to prevent warning message" > examples/CMakeLists.txt; \
+ cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME="Linux" \
-DCMAKE_INSTALL_PREFIX="" \
-DCMAKE_C_COMPILER="$(TARGET)-gcc" \
- -DCMAKE_CXX_COMPILER="$(TARGET)-g++" && \
- find . -name cmake_install.cmake -print0 | xargs -0 \
- sed -i 's@SET(CMAKE_INSTALL_PREFIX "/usr/local")@SET(CMAKE_INSTALL_PREFIX "")@' && \
- $(MAKE) && \
- $(MAKE) install DESTDIR=$(TARGETPREFIX)
- $(REMOVE)/OpenThreads
+ -DCMAKE_CXX_COMPILER="$(TARGET)-g++" \
+ -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE=1; \
+ $(MAKE); \
+ make install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/openthreads.pc
+ $(REMOVE)/OpenThreads-$(OPENTHREADS_VER) $(PKGPREFIX)
touch $@
$(D)/libiconv: $(ARCHIVE)/libiconv-1.14.tar.gz | $(TARGETPREFIX)
git checkout $(CST_FFMPEG_VERSION); \
fi
-$(GIT_LIBRARIES)/OpenThreads:
- mkdir -p $(GIT_LIBRARIES)
- cd $(GIT_LIBRARIES) && \
- if [ -d $(GIT_LIBRARIES)/OpenThreads/ ]; then \
- cd $(GIT_LIBRARIES)/OpenThreads && \
- git pull origin master; \
- cd $(GIT_LIBRARIES)/OpenThreads/src && \
- git pull origin master; \
- cd $(GIT_LIBRARIES)/OpenThreads/include && \
- git pull origin master; \
- else \
- git clone $(CSGIT)/$(REPO_LIBRARY_OPENTHREADS) OpenThreads; \
- cd $(GIT_LIBRARIES)/OpenThreads; \
- git clone $(CSGIT)/$(REPO_LIBRARY_OPENTHREADS_SRC) src/; \
- git clone $(CSGIT)/$(REPO_LIBRARY_OPENTHREADS_INCLUDE) include/; \
- fi
-
$(GIT_KERNEL):
mkdir -p $(SOURCE_DIR)/git
mkdir -p $(GIT_KERNEL)
PHONY += $(GIT_DRIVERS_THIRDPARTY)
PHONY += $(GIT_DRIVERS)
PHONY += $(GIT_LIBRARIES)/ffmpeg
-PHONY += $(GIT_LIBRARIES)/OpenThreads
PHONY += $(GIT_KERNEL)
PHONY += $(GIT_PLUGINS)
OPENSSL_SUBVER=k
endif
+# openthreads; an object-oriented thread interface for C++ programmers
+OPENTHREADS_VER=2.6.0
+
# pkg-config; a helper tool used when compiling applications and libraries to insert the correct compiler options
PKGCONFIG_VER=0.28