osxcross/README.MACPORTS.md
2016-01-11 20:37:30 +01:00

152 lines
3.5 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' `./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'
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' `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 &lt;pkg1&gt; [&lt;pkg2&gt; [...]]
* Install <package name> and its deps.
* search &lt;pkg&gt;
* 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.
* select-mirror
* Switch to a different mirror.
Useful flags:
* '-v', '--verbose':
* Print verbose messages.
* '-v=2', '--verbose=2':
* Print more verbose messages.
* '-s', '--static':
* Install static libraries only.
* '-c', '--cflags' &lt;lib&gt;:
* Shows cflags for &lt;lib&gt; (same as pkg-config).
* '-l', '--ldflags' &lt;lib&gt;:
* Shows ldflags for &lt;lib&gt; (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 [...]