Skip to content

aosm/MySQL

Repository files navigation

Additional notes for using the MySQL Makefile:  

The Apple-provided Makefile is designed to run with custom environment variables to define the set of architectures for the output binaries and the directory organization for all make products.  Use the env command to set up the environment for the make as follows:

sudo env RC_ARCHS="i386 x86_64" \
      RC_CFLAGS="-arch i386 -arch x86_64 -pipe" \
      RC_NONARCH_CFLAGS="-pipe" \
      SRCROOT=/path/to/source/directory/ \
      OBJROOT=/path/for/intermediate/make/products/ \
      SYMROOT=/path/for/unstripped/executables/ \
      DSTROOT=/path/to/final/make/products/ \
      make install

where:
RC_ARCHS is the selection of architectures to build (any combination of ppc, i386, ppc64, and x86_64)
RC_CFLAGS are the compiler CFLAGS  (must contain '-arch' flag for each item in  RC_ARCHS)
RC_NONARCH_CFLAGS are all CFLAGS excluding all '-arch ...' flags
SRCROOT is the path to the directory containing the MySQL Makefile
OBJROOT is the path to an intermediate build products folder*
SYMROOT is the path to the unstripped binaries*
DSTROOT is the path containing the final build product with stripped binaries. This directory is structured identically to the final installation directories in /.*
*The MySQL Makefile will automatically create any intermediate directories missing in the designated paths.

The intermediate make products can consume a large amount of disk space (up to several gigabytes), depending on the number of architectures built. Make sure that the destination volume chose for the make product paths has sufficient space to hold the resulting files or the make will fail.  During the install phase, the Makefile needs to set root privileges on selected files, so the make must be run as sudo.

Example: 
% sudo rm -rf /tmp/MySQL.root
% sudo env RC_ARCHS="i386 x86_64" \
      RC_CFLAGS="-arch i386 -arch x86_64 -pipe" \
      RC_NONARCH_CFLAGS="-pipe"  \
      SRCROOT=/Users/jj/projects/MySQL  \
      OBJROOT=/tmp/MySQL.root/MySQL~obj  \
      SYMROOT=/tmp/MySQL.root/MySQL~sym  \
      DSTROOT=/tmp/MySQL.root/MySQL~dst  \
      make install

To install resulting build:
% sudo ditto /tmp/MySQL.root/MySQL~dst/usr /usr

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published