Skip to content

Extend relocatable binary support to all platforms.#613

Open
charlesstaats wants to merge 1 commit into
masterfrom
relocatable-any-os
Open

Extend relocatable binary support to all platforms.#613
charlesstaats wants to merge 1 commit into
masterfrom
relocatable-any-os

Conversation

@charlesstaats

Copy link
Copy Markdown
Contributor

Some cleanups salvaged from the failed attempt to remove libatomic_ops. Relocatable binaries can be very useful for testing purposes, especially since the cmake install process is not maintained.

Move initSysdir() from settings.cc to locate.cc, alongside the rest of the file-search logic. Extend the fallback from macOS-only to all platforms: Linux uses /proc/self/exe, Windows uses GetModuleFileNameA. Add a build-tree fallback (base/ next to the executable) in addition to the install-tree fallback (../share/asymptote relative to bin/).

Add ENABLE_RELOCATABLE CMake option (default off) that defines IS_RELOCATABLE; the devcontainer presets already enable it.

Makefile.in: factor license-file installation into a define so copy-licenses and install-licenses share one list; add the GL shader subdirectory to uninstall-asy cleanup.

Move initSysdir() from settings.cc to locate.cc, alongside the rest
of the file-search logic.  Extend the fallback from macOS-only to all
platforms: Linux uses /proc/self/exe, Windows uses GetModuleFileNameA.
Add a build-tree fallback (base/ next to the executable) in addition
to the install-tree fallback (../share/asymptote relative to bin/).

Add ENABLE_RELOCATABLE CMake option (default off) that defines
IS_RELOCATABLE; the devcontainer presets already enable it.

Makefile.in: factor license-file installation into a define so
copy-licenses and install-licenses share one list; add the GL shader
subdirectory to uninstall-asy cleanup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant