From: Simon Wright <simon.j.wright@mac.com>
Subject: Including C source in GNAT project for building library
Date: Thu, 24 Jan 2008 05:27:26 +0000
Date: 2008-01-24T05:27:26+00:00 [thread overview]
Message-ID: <m2wspzaj41.fsf@mac.com> (raw)
This relates to building TASH as a library (static, libtash.a) using
GNAT Project, as in GNAT-GPL-2007.
As well as Ada source, this library needs two C-sourced units to act
as wrappers for macros in the Tcl/Tk header files.
I can do this by hand (obviously only for a static library) by doing
this after gnatmake has done its part:
gcc -c -g -O2 -I/usr/include tclmacro.c
gcc -c -g -O2 -I/usr/include tkmacro.c
ar -r lib/libtash.a tclmacro.o tkmacro.o
ranlib lib/libtash.a
but can't help feeling there should be a way to tell gnatmake to do
this!
So far I have
with "../tash_options";
project Build_Tash_Library is
for Library_Name use "tash";
for Languages use ("Ada","C");
for Library_Interface use
(
"cargv",
"chelper",
"tash.arrays",
"tash.file",
"tash.file_io",
"tash.float_arrays",
"tash.float_lists",
"tash.floats",
"tash.integer_arrays",
"tash.integer_lists",
"tash.integers",
"tash.lists",
"tash.platform",
"tash.regexp",
"tash.strings",
"tash.system",
"tash",
"tcl.ada",
"tcl.tk.ada",
"tcl.tk",
"tcl"
);
for Source_Files use
(
"tclmacro.c",
"tkmacro.c",
"cargv.adb",
"cargv.ads",
"chelper.adb",
"chelper.ads",
"tash-arrays.adb",
"tash-arrays.ads",
"tash-file.adb",
"tash-file.ads",
"tash-file_io.adb",
"tash-file_io.ads",
"tash-float_arrays.ads",
"tash-float_lists.ads",
"tash-floats.adb",
"tash-floats.ads",
"tash-integer_arrays.ads",
"tash-integer_lists.ads",
"tash-integers.adb",
"tash-integers.ads",
"tash-lists.adb",
"tash-lists.ads",
"tash-platform.adb",
"tash-platform.ads",
"tash-regexp.adb",
"tash-regexp.ads",
"tash-strings.adb",
"tash-strings.ads",
"tash-system.adb",
"tash-system.ads",
"tash.adb",
"tash.ads",
"tcl-ada.adb",
"tcl-ada.ads",
"tcl-tk-ada.adb",
"tcl-tk-ada.ads",
"tcl-tk.adb",
"tcl-tk.ads",
"tcl.adb",
"tcl.ads"
);
for Object_Dir use ".build_lib";
for Library_Kind use "static";
for Library_Src_Dir use "lib";
for Library_Dir use "lib";
package IDE is
for Compiler_Command ("ada") use "gnatmake";
for Gnatlist use "gnatls";
for VCS_Kind use "CVS";
end IDE;
package Builder is
for Default_Switches ("ada") use ("-m", "-g");
end Builder;
package Compiler is
for Default_Switches ("ada") use Tash_Options.Compiler_Options;
for Default_Switches ("C") use ("-c", "-g", "-O2", "-I/usr/include");
end Compiler;
end Build_Tash_Library;
next reply other threads:[~2008-01-24 5:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-24 5:27 Simon Wright [this message]
2008-01-24 5:54 ` Including C source in GNAT project for building library Per Sandberg
2008-01-24 8:33 ` Simon Wright
2008-01-24 6:05 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox