in lib/omnibus/software.rb [808:900]
def with_standard_compiler_flags(env = {}, opts = {})
env ||= {}
opts ||= {}
compiler_flags =
case Ohai["platform"]
when "aix"
{
"CC" => "xlc_r -q64",
"CXX" => "xlC_r -q64",
"CFLAGS" => "-q64 -I#{install_dir}/embedded/include -D_LARGE_FILES -O",
"LDFLAGS" => "-q64 -L#{install_dir}/embedded/lib -Wl,-blibpath:#{install_dir}/embedded/lib:/usr/lib:/lib",
"LD" => "ld -b64",
"OBJECT_MODE" => "64",
"ARFLAGS" => "-X64 cru",
}
when "solaris2"
{
"CC" => "gcc -m64 -static-libgcc",
"LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib -static-libgcc",
"CFLAGS" => "-I#{install_dir}/embedded/include -O2",
}
when "freebsd"
{
"CC" => "clang",
"CXX" => "clang++",
"LDFLAGS" => "-L#{install_dir}/embedded/lib -Wl,-rpath,#{install_dir}/embedded/lib",
"CFLAGS" => "-I#{install_dir}/embedded/include -O3 -D_FORTIFY_SOURCE=2 -fstack-protector",
}
when "windows"
arch_flag = windows_arch_i386? ? "-m32" : "-m64"
opt_flag = windows_arch_i386? ? "-march=i686" : "-march=x86-64"
{
"LDFLAGS" => "-L#{install_dir}/embedded/lib #{arch_flag} -fno-lto",
"CFLAGS" => "-I#{install_dir}/embedded/include #{arch_flag} -O3 #{opt_flag}",
}
else
{
"LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib",
"CFLAGS" => "-I#{install_dir}/embedded/include -O3 -D_FORTIFY_SOURCE=2 -fstack-protector",
}
end
extra_linker_flags = {
"LD_RUN_PATH" => "#{install_dir}/embedded/lib",
}
if solaris2?
ld_options = "-R#{install_dir}/embedded/lib"
if platform_version.satisfies?("<= 5.10")
mapfile_path = File.expand_path(Config.solaris_linker_mapfile, Config.project_root)
ld_options << " -M #{mapfile_path}" if File.exist?(mapfile_path)
end
extra_linker_flags["LD_OPTIONS"] = ld_options
end
env.merge(compiler_flags)
.merge(extra_linker_flags).
merge({ "PKG_CONFIG_PATH" => "#{install_dir}/embedded/lib/pkgconfig" }).
merge("CXXFLAGS" => compiler_flags["CFLAGS"])
.merge("CPPFLAGS" => compiler_flags["CFLAGS"])
.merge("OMNIBUS_INSTALL_DIR" => install_dir)
end