## 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 `. ### THINGS YOU SHOULD KNOW: ### **shortcuts:** `osxcross-mp`, `omp` \-- **pkg-config:** OSXCross' `pkg-config` (`-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 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. * 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' <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 [...]