
# The INCLUDE and LIB directories to build the '_yaml' extension.
# You may also set them using the options '-I' and '-L'.
[build_ext]

# List of directories to search for 'yaml.h' (separated by ':').
#include_dirs=/usr/local/include:../../include

# List of directories to search for 'libyaml.a' (separated by ':').
#library_dirs=/usr/local/lib:../../lib

# An alternative compiler to build the extention.
#compiler=mingw32

# Additional preprocessor definitions might be required.
#define=YAML_DECLARE_STATIC

# The following options are used to build PyYAML Windows installer
# for Python 2.3 on my PC:
#include_dirs=../../libyaml/branches/stable/include
#library_dirs=../../libyaml/branches/stable/win32/vc6/output/release/lib
#define=YAML_DECLARE_STATIC

# The following options are used to build PyYAML Windows installer
# for Python 2.4 and Python 2.5 on my PC:
#include_dirs=../../libyaml/branches/stable/include
#library_dirs=../../libyaml/branches/stable/win32/vs2003/output/release/lib
#define=YAML_DECLARE_STATIC

# The following options are used to build PyYAML Windows installer
# for Python 2.6 on my PC:
#include_dirs=../../libyaml/branches/stable/include
#library_dirs=../../libyaml/branches/stable/win32/vs2008/output/release/lib
#define=YAML_DECLARE_STATIC
