[vcpkg/scripts/make] trying to iron out some issues#11836
[vcpkg/scripts/make] trying to iron out some issues#11836strega-nil merged 34 commits intomicrosoft:masterfrom
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
add port - |
|
Is this PR ready for review? |
|
remove WINDOWS support from the ports, because it doesn't work |
|
@voskrese: It probably works with a MinGW community triplet and as such failing on Windows would be too restrictive |
|
on MINGW, 80% of the ports do not work, the main goal of MSVC under WINDOWS. I think we should stick to priorities or delineate
add VCPKG_CMAKE_SYSTEM_NAME = MSYS2 or CYGWIN |
|
@Neumann-A |
|
Any update? |
|
Waiting for the pkgconfig PR to get merged first. I mean the one rewriting fixup_pkgconfig |
|
Waiting for PR #11550 merged first, right? |
add quotes around restoring of ENV add LIB and LIBPATH correctly
JackBoosY
left a comment
There was a problem hiding this comment.
Since this PR lasts too long, please open a new PR to update the vcpkg_configure_make document after this PR merges.
|
Thanks for your hard work! |
| - LIBWANDIO_LIBS="$LIBWANDIO_LIBS -lcurl" | ||
| + if test "$ac_cv_search_curl_easy_pause" != "none required"; then | ||
| + LIBWANDIO_LIBS="$LIBWANDIO_LIBS $ac_cv_search_curl_easy_pause -lssl -lcrypto $ac_cv_search_pthread_create -ldl" | ||
| + LIBS="$LIBS -lssl -lcrypto $ac_cv_search_pthread_create -ldl" |
There was a problem hiding this comment.
Should this be fixed instead by producing .pc files for curl and using
PKG_CHECK_MODULES([CURL], [curl])
LIBS="$LIBS $CURL_LIBS"Based on my reading of https://autotools.io/pkgconfig/pkg_check_modules.html, the default action-if-not-found is to error out.
Otherwise, we should Build-Depends: openssl in libwandio because it's directly expressing a dependency on openssl (e.g. imagine a case of building curl without openssl and thus this would fail).
There was a problem hiding this comment.
Would be a proper fix but I did not want to touch this port any more than necessary. Because every dependency in libwandio would need that fix. If you want I can back out the patches to libwandio.
| set(REQUIRES_AUTOGEN TRUE) | ||
| set(REQUIRES_AUTOCONFIG FALSE) | ||
| if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT PKGCONFIG STREQUAL "--static") | ||
| set(PKGCONFIG "${PKGCONFIG} --static") |
There was a problem hiding this comment.
Based on my reading of https://people.freedesktop.org/~dbn/pkg-config-guide.html, I think we should never pass --static. Instead, the producer side should always generate .pc files that can be used without --static; if the producer build is being built statically, it should list its dependencies as direct Requires: instead of Requires.private:.
Having the consumer predict how the producer was built seems fundamentally broken.
There was a problem hiding this comment.
Having the consumer predict how the producer was built seems fundamentally broken.
I agree with that. Would probably be a job for vcpkg_fixup_pkgconfig to correct the fields. But that is probably something for a different PR.
We could also always pass --static without any problems/corrections since the only thing we would be doing is overlinking all the time which decreases performance but should not yield a build link error due to missing symbols.
| endif() | ||
|
|
||
| if (CMAKE_HOST_WIN32) | ||
| set(TMP_CFLAGS "${C_FLAGS_GLOBAL} ${VCPKG_C_FLAGS_${CMAKE_BUILDTYPE}}") |
There was a problem hiding this comment.
What's enabling all this regex machinery to be removed?
There was a problem hiding this comment.
Everything is setup while configuring and not while building. Which means the flags get embedded into the makefile on configure.
E.g. from one Makefile:
CFLAGS = -MT -O2 -Oi -Gy -DNDEBUG
CONFIGDIR = ${BASECONFIGDIR}/conf.d
CPP = compile cl.exe -nologo -E
CPPFLAGS = -IE:/qt/installed/x64-windows-static/include -D_WIN32_WINNT=0x0601 -DWIN32_LEAN_AND_MEAN -DWIN32 -D_WINDOWS
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
- remove mingw make - add doc for missing options - introduce two new macros for backup/restore of env vars
|
@JackBoosY: I assume you are trying to fix the regression seen in this PR. It also seems like you qt retry fix does not work correctly. |
|
@Neumann-A |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
* take changes from fontconfig pr * [farmhash] add autoconf * [freexl] add autoconf * [healpix] add autoconf * [libb2] add autoconf * [libwandio] add autoconf and patch * more autoconf * [x264] fix windows build issues * minimal cleanup * [libwandio] some fixes * [vcpkg/scripts/make] add include to C/CXX flags correctly set machine flags for linker * remove unnecessary comments part 1 * cleanup part 2 * cleanup * remove unnecessary code * [pbc] fix osx regressions * [lzokay] format manifest * try to copy sources to fix build issues * add autoconfig to force updated configure scripts * bump port versions of openmpi and ocilib * added lib paths back into vcpkg_build_make because they are probably required * Use CPP flags add quotes around restoring of ENV add LIB and LIBPATH correctly * Apply suggestions from code review Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Apply more changes forom CR - remove mingw make - add doc for missing options - introduce two new macros for backup/restore of env vars * fix wrong variables. * use the list macro instead of the single var macro * also use it at the top Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
includes #11810closes #11765
make all make dependent ports depend onvcpkg-makefor easier testing and rebuilding.Fix some script errors in
vcpkg_configure_makeRemoved a lot of unnecessary stuff in
vcpkg_build_make