X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackage.cpp;h=e6e3b5099c1814a46ab02586e750f936843e3c27;hb=97001ddfa2463e6a3526eff772962acdad45f995;hp=fcbe9f7a6208fe8c10f3bac150f78d5c6986138c;hpb=59ac0a44d6edf179c01604c6ced744873213f855;p=builder.git diff --git a/source/package.cpp b/source/package.cpp index fcbe9f7..e6e3b50 100644 --- a/source/package.cpp +++ b/source/package.cpp @@ -1,3 +1,4 @@ +#include #include #include "builder.h" #include "misc.h" @@ -79,6 +80,18 @@ void Package::create_build_info() if(flags&LIB) export_binfo.libpath.push_back((Path::Path(config.get_option("prefix").value)/"lib").str()); + string optimize=config.get_option("optimize").value; + if(strtol(optimize)) + { + build_info.cflags.push_back("-O"+optimize); + string cpu=config.get_option("cpu").value; + if(cpu!="auto") + build_info.cflags.push_back("-march="+cpu); + } + + if(strtobool(config.get_option("debug").value)) + build_info.cflags.push_back("-ggdb"); + build_info.unique(); export_binfo.unique(); @@ -117,9 +130,11 @@ void Package::init_buildable() { buildable=true; - config.add_option("tempdir", "temp", "Directory for storing temporary files"); - config.add_option("optimize", "0", "Apply compiler optimizations"); - config.add_option("debug", "0", "Produce debugging symbols"); + config.add_option("tempdir", "temp", "Directory for storing temporary files"); + config.add_option("optimize", "0", "Apply compiler optimizations"); + config.add_option("debug", "0", "Produce debugging symbols"); + config.add_option("cpu", "auto", "CPU type to optimize for"); + config.add_option("arch", "native", "Architecture for cross-compiling"); const char *home=getenv("HOME"); unsigned flags=get_install_flags();