aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorKevin Lu <6320810+kevinlul@users.noreply.github.com>2020-08-01 16:56:56 -0400
committerGitHub <noreply@github.com>2020-08-01 13:56:56 -0700
commit5512eafd80a1f69384d1f06a19f7ca04fa7dad9b (patch)
tree55aa5eeb76e884060c34fc3bd2f8f842afc2da02 /ports
parent021db935f6c5eed48e093e16e3bef1721cb3a156 (diff)
downloadvcpkg-5512eafd80a1f69384d1f06a19f7ca04fa7dad9b.tar.gz
vcpkg-5512eafd80a1f69384d1f06a19f7ca04fa7dad9b.zip
[mpg123] Allow cross-compiling, fix previous builds tainting rebuilds (#11535)
* [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds * [mpg123] Rewrite to use vcpkg_configure_make * Update ports/mpg123/portfile.cmake Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * [mpg123] Use vcpkg_execute_required_process * [mpg123] Bump CONTROL version * [mpg123] Remove unneeded legacy lines and strip out trailing newline from dumpmachine * pre-install yasm on OSX. Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Diffstat (limited to 'ports')
-rw-r--r--ports/mpg123/CONTROL3
-rw-r--r--ports/mpg123/portfile.cmake111
2 files changed, 28 insertions, 86 deletions
diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL
index deefddbda..3e7705ab0 100644
--- a/ports/mpg123/CONTROL
+++ b/ports/mpg123/CONTROL
@@ -1,4 +1,5 @@
Source: mpg123
-Version: 1.25.8-12
+Version: 1.25.8
+Port-Version: 13
Homepage: https://sourceforge.net/projects/mpg123/
Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).
diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake
index 5190a17db..9438c5811 100644
--- a/ports/mpg123/portfile.cmake
+++ b/ports/mpg123/portfile.cmake
@@ -116,97 +116,38 @@ elseif(VCPKG_TARGET_IS_WINDOWS)
${SOURCE_PATH}/src/libmpg123/mpg123.h.in
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- file(REMOVE_RECURSE ${SOURCE_PATH}/build/debug)
- file(REMOVE_RECURSE ${SOURCE_PATH}/build/release)
-
- ################
- # Debug build
- ################
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND "${SOURCE_PATH}/configure" --prefix=${SOURCE_PATH}/build/debug --enable-debug=yes --enable-static=yes --disable-dependency-tracking --with-default-audio=coreaudio --with-module-suffix=.so
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME config-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done.")
-
- message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND make -j install
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME build-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Installing ${TARGET_TRIPLET}-dbg done.")
-
- ################
- # Release build
- ################
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND make distclean
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME config-${TARGET_TRIPLET}-dbg
- )
- vcpkg_execute_required_process(
- COMMAND "${SOURCE_PATH}/configure" --prefix=${SOURCE_PATH}/build/release --enable-static=yes --disable-dependency-tracking --with-default-audio=coreaudio --with-module-suffix=.so
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME config-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel done.")
-
- message(STATUS "Installing ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND make -j install
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME build-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Installing ${TARGET_TRIPLET}-rel done.")
-
- file(
- INSTALL
- "${SOURCE_PATH}/build/debug/include/fmt123.h"
- "${SOURCE_PATH}/build/debug/include/mpg123.h"
- "${SOURCE_PATH}/build/debug/include/out123.h"
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/include
+elseif(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX)
+ set(MPG123_OPTIONS
+ --disable-dependency-tracking
)
- if(EXISTS "${SOURCE_PATH}/build/debug/lib64/libmpg123.a")
- file(
- INSTALL
- "${SOURCE_PATH}/build/debug/lib64/libmpg123.a"
- "${SOURCE_PATH}/build/debug/lib64/libout123.a"
- DESTINATION
- ${CURRENT_INSTALLED_DIR}/debug/lib
- )
- else()
- file(
- INSTALL
- "${SOURCE_PATH}/build/debug/lib/libmpg123.a"
- "${SOURCE_PATH}/build/debug/lib/libout123.a"
- DESTINATION
- ${CURRENT_INSTALLED_DIR}/debug/lib
- )
+ # Find cross-compiler prefix
+ if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}")
endif()
-
- if(EXISTS "${SOURCE_PATH}/build/release/lib64/libmpg123.a")
- file(
- INSTALL
- "${SOURCE_PATH}/build/release/lib64/libmpg123.a"
- "${SOURCE_PATH}/build/release/lib64/libout123.a"
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/lib
+ if(CMAKE_C_COMPILER)
+ vcpkg_execute_required_process(
+ COMMAND ${CMAKE_C_COMPILER} -dumpmachine
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
+ LOGNAME dumpmachine-${TARGET_TRIPLET}
)
- else()
- file(
- INSTALL
- "${SOURCE_PATH}/build/release/lib/libmpg123.a"
- "${SOURCE_PATH}/build/release/lib/libout123.a"
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/lib
+ file(READ ${CURRENT_BUILDTREES_DIR}/dumpmachine-${TARGET_TRIPLET}-out.log MPG123_HOST)
+ string(REPLACE "\n" "" MPG123_HOST "${MPG123_HOST}")
+ message(STATUS "Cross-compiling with ${CMAKE_C_COMPILER}")
+ message(STATUS "Detected autoconf triplet --host=${MPG123_HOST}")
+ set(MPG123_OPTIONS
+ --host=${MPG123_HOST}
+ ${MPG123_OPTIONS}
)
endif()
+
+ vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS ${MPG123_OPTIONS}
+ )
+ vcpkg_install_make()
+
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)