libcurl seems to be a nice recipe, with lot of platform options, but I miss the iOS and Android build.
I could make a simplified build, just with what I need, but I think it would be better to have those platforms upstream.
But the upstream is, due to all the options, a little bit complex, so before adding stuff and make a PR, it would be nice to talk with the original maintainer on how to best integrate that.
Since I have now the option to build and test libcurl for iOS and Android, this could be a nice possibility to add these build configs, or, to find out if a specialised build would be better
@jgsogo , @danimtb , @uilianries , any idea with whom to discuss the required changes?
I guess there is no specific maintainer of this recipe. If you have the chance to test if it builds for android and ios and open a PR with changes to the recipe, I think it would be the best thing
ok, thanks for letting me know!
so I will simply see how I can add the changes without creating unwanted side effects
in my practice, libcurl was always highly portable, I was able to build it for iOS and Android in the past without any caveats. feel free to directly submit PR(s). let us know if you need any help or have seen any difficulties.
the options are related to the numerous protocols libcurl supports via 3rd-party or system libraries. e.g. certain libraries might be available only in certain systems, thus it might need some additional checks for Android/iOS, e.g. to enable native system SSL support or whatever.
@SSE4 Can it be possible to expose Conan's option to select between Autotools/CMake build?
Currently, as I understand the only option to force CMake usage - use Conan on the Windows platform https://github.com/conan-io/conan-center-index/blob/master/recipes/libcurl/all/conanfile.py#L130
This should add more portability options.
if it's not breaking, yes, why not. ultimately, it would be nice to leave just one build system, it would be much easier to maintain in such a case.
@a4z earlier (while libcurl was in Bincrafters, not CCI) I tracked new versions and tried to respond for features or bugs. Now I have a little less time and maintaining is more up to the whole Conan community. But I keep up with changes.
About different build systems. CMake was never an official build system for libcurl so Unix builds should be based on autoconf. CMake is missing some required functionality from autoconf builds (see docs/INSTALL.cmake). Windows builds use CMake mainly because vcproj files bundled with libcurl are incredibly hard to be properly customized.
I think it should not be hard to port libcurl on Android/iOS if you have already built dependencies. Curl documentation contains a few notes about those platforms.
sounds like a good idea, @snikulov
In theory:
exposing a CMake as build option would nearly, or totally, solve the iOS / Android build,
because all to do is inject the CMake tool chain file for the host, and this is something I have already.
CMake has less options that the automake build, so it will never be an full alternative,
but for my situation, I think I can get everything I need thought the CMake build
Then, just some platform options would need to be added, like the usage of bitcode on iOS.
I can give that path a also trial ...
Edit:
there is just this comment in the conanfile.py
# mac builds do not use cmake so don't even bother about darwin_ssl
so this change is also a bit more work than just enable cmake :-)
please check PR #1008 ,
if you have any comments please share them.
Thanks!
Most helpful comment
I guess there is no specific maintainer of this recipe. If you have the chance to test if it builds for android and ios and open a PR with changes to the recipe, I think it would be the best thing