You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to use OQS for an embedded target (which does not use dynamic linking, and hence does not provision a Global Offset Table or Procedure Linkage Table), I would like to build it as a static library with CMAKE_POSITION_INDEPENDENT_CODE set OFF. However, the CMakeLists.txt hard codes this to ON, with no capability to override.
It would be useful to allow this setting to be chosen from externally, for example in the CMake toolchain file.
It should be noted that CMake's default choice in the absence of a setting is usually a sensible one (depending on the type of library or executable being built).
The text was updated successfully, but these errors were encountered:
I dug through the git blame to see why we would have hardcoded this, and it led me to PR #670, citing OpenSSL build failures. I believe that PR predated oqs-provider, so presumably it refers to our deprecated OpenSSL fork. Any idea if hardcoding the option is still necessary @baentsch@christianpaquin?
Good "dig" @SWilson4 . Yes, the rationale given by @kevinmkane in 2020 seems sensible when building liboqs embedded into openssl -- and the PR definitely predates oqsprovider... which typically is a shared lib, though... ;-) But seriously, AFAIK oqsprovider can be configured to be built statically as well as shared, so hard-coding -fPIC does not seem a pre-requisite any more these days (and also shouldn't be).
In order to use OQS for an embedded target (which does not use dynamic linking, and hence does not provision a Global Offset Table or Procedure Linkage Table), I would like to build it as a static library with CMAKE_POSITION_INDEPENDENT_CODE set OFF. However, the CMakeLists.txt hard codes this to ON, with no capability to override.
It would be useful to allow this setting to be chosen from externally, for example in the CMake toolchain file.
It should be noted that CMake's default choice in the absence of a setting is usually a sensible one (depending on the type of library or executable being built).
The text was updated successfully, but these errors were encountered: