mirror of
https://github.com/Relintai/osxcross.git
synced 2025-02-03 22:45:56 +01:00
149 lines
3.4 KiB
Markdown
149 lines
3.4 KiB
Markdown
## OSXCROSS-MACPORTS ##
|
|
|
|
`osxcross-macports` is a small "packet manager" for 16.000+ binary MacPorts packages.
|
|
|
|
Packages are installed to `target/macports/pkgs`.
|
|
|
|
### DEPENDENCIES: ###
|
|
|
|
`bash`, `wget` and `openssl`
|
|
|
|
Also ensure that you are using the 10.6 SDK (or later).
|
|
|
|
### INSTALLATION: ###
|
|
|
|
Run OSXCross's `./build.sh`, then you should have `osxcross-macports` in PATH.
|
|
|
|
**Setting up osxcross-macports:**
|
|
|
|
MacPorts doesn't support 10.5 anymore, so we need to change OSXCross's
|
|
default target to 10.6 (better 10.7, or later).
|
|
|
|
To achive this, add the following to your bashrc (or similar):
|
|
|
|
`export MACOSX_DEPLOYMENT_TARGET=10.7`
|
|
|
|
Then run `osxcross-macports <cmd>`.
|
|
|
|
### THINGS YOU SHOULD KNOW: ###
|
|
|
|
**shortcuts:**
|
|
|
|
`osxcross-mp`, `omp`
|
|
|
|
\--
|
|
|
|
**pkg-config:**
|
|
|
|
OSXCross's `pkg-config` (`<arch>-apple-darwinXX-pkg-config`)
|
|
is automatically aware of MacPorts packages.
|
|
|
|
If you want `pkg-config` to be unaware of MacPorts packages
|
|
(for whatever reason), do the following:
|
|
|
|
`export OSXCROSS_PKG_CONFIG_NO_MP_INC=1`
|
|
|
|
\--
|
|
|
|
**automatic compiler includes:**
|
|
|
|
You can set up automatic compiler includes (`-I / -L / -F`) by doing the
|
|
following:
|
|
|
|
`export OSXCROSS_MP_INC=1`
|
|
|
|
\--
|
|
|
|
**verbose messages:**
|
|
|
|
Can be enabled by adding '-v' or '--verbose'.
|
|
|
|
\--
|
|
|
|
**upgrading packages:**
|
|
|
|
Run `osxcross-macports upgrade`.
|
|
|
|
This will simply re-install the latest version of all your installed packages.
|
|
|
|
**listing all available packages:**
|
|
|
|
`osxcross-macports search $`
|
|
|
|
### COMMANDS: ###
|
|
|
|
osxcross-macports [...]
|
|
|
|
* install <pkg1> [<pkg2> [...]]
|
|
* Install <package name> and its deps.
|
|
|
|
* search <pkg>
|
|
* Prints a list of matching package names.
|
|
|
|
* update-cache
|
|
* Updates the search index cache.
|
|
|
|
* clear-cache
|
|
* Clears the download and search cache.
|
|
|
|
* remove-dylibs
|
|
* Removes all \*.dylib (useful for static linking).
|
|
|
|
* upgrade
|
|
* Reinstalls the latest version of every package.
|
|
|
|
Useful flags:
|
|
|
|
* '-v', '--verbose':
|
|
* Print verbose messages.
|
|
|
|
* '-v=2', '--verbose=2':
|
|
* Print more verbose messages.
|
|
|
|
* '-s', '--static':
|
|
* Install static libraries only.
|
|
|
|
* '-c', '--cflags' <lib>:
|
|
* Shows cflags for <lib> (same as pkg-config).
|
|
|
|
* '-l', '--ldflags' <lib>:
|
|
* Shows ldflags for <lib> (same as pkg-config).
|
|
|
|
Uninstalling is not supported (and probably never will be).
|
|
|
|
However, you can remove packages by hand. A simpler (and cleaner) way would
|
|
be to remove the whole macports directory (target/macports) and to reinstall
|
|
all other packages again.
|
|
|
|
### USAGE EXAMPLES: ###
|
|
|
|
library installation:
|
|
|
|
$ osxcross-macports install libsdl2
|
|
searching package libsdl2 ...
|
|
downloading libsdl2-2.0.3_0.darwin_11.x86_64.tbz2 ...
|
|
installing libsdl2 ...
|
|
installed libsdl2
|
|
|
|
print library flags (osxcross-macports):
|
|
|
|
$ osxcross-macports --cflags sdl2
|
|
-D_THREAD_SAFE -I/data/development/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2
|
|
|
|
$ osxcross-macports --ldflags sdl2
|
|
-L/data/development/osxcross/target/bin/../macports/pkgs/opt/local/lib -lSDL2
|
|
|
|
print library flags (pkg-config):
|
|
|
|
$ x86_64-apple-darwinXX-pkg-config --cflags sdl2
|
|
-D_THREAD_SAFE -I/data/development/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2
|
|
|
|
$ x86_64-apple-darwinXX-pkg-config --libs sdl2
|
|
-L/data/development/osxcross/target/bin/../macports/pkgs/opt/local/lib -lSDL2
|
|
|
|
automatic includes:
|
|
|
|
OSXCROSS_MP_INC=1 o64-clang file.c -lSDL2
|
|
|
|
OSXCROSS_MP_INC=1 make [...]
|