Re: Automake support for ObjC++
On Tue, 21 Jul 2009, Ralf Wildenhues wrote: AFAIK nobody else is working on patches yet; they would be very welcome. I suppose adding ObjC++ support should be very straightforward. Thanks. Hi Ralf, in the meantime I have created a patch for Automake support of ObjC++. It was indeed very straightforward. In a small toy example this works to my satifaction (of course only together with Autoconf from git plus the patch from earlier today). I forgot to mention: of course, this would require that Autoconf supports ObjC++. Are you aware of any plans into that direction? Nope. Since 2.64 might not be far away, you might want to do this first. (Otherwise, there is also the possibility for an AM_PROG_OBJCXX.) If the Autoconf patch makes it into 2.64, that then will be a requirement for ObjC++ support in Automake. Otherwise it is still possible to slightly rewrite the present Automake patch such that is uses AM_PROG_OBJCXX. However, that still requires autoconf-2.64 because otherwise aclocal can't trace the macro named 'AC_LANG(Objective C++)' which is part of A[CM]_PROG_OBJCXX. Shall I send the patch right now so you can inspect it, or shall I wait until autoconf-2.64 is released? Regards Peter
Re: Automake support for ObjC++
* Peter Breitenlohner wrote on Wed, Jul 22, 2009 at 05:29:52PM CEST: Shall I send the patch right now so you can inspect it, or shall I wait until autoconf-2.64 is released? Feel free to send it, if you have it anyway. More information can only help. But a review might be awhile. Thanks, Ralf
how to install library in a specific directory?
I have two projects. One generates a shared library and the other uses it. The library is to be installed in /usr/local/lib/ezproject, while the project' s name is ezcommon. I have problems in both the projects. ezcommon's configure.ac, … AC_INIT(ezcommon, 3.0) AC_DISABLE_STATIC … ezcommon's Makefile.am, lib_LTLIBRARIES = libezcommon.la libdir = $(exec_prefix)/lib/ezproject includedir = $(prefix)/include/ezproject Problem is, if user configure --libdir=..., the user's definition will be ignored. How can I set libdir only when user does not assign it? (Since this dir name is not same as project name, I cannot use pkglib_.) The other question is how to check for this library in the other project, named ezcmd. ezcmd's configure.ac, ... AC_CHECK_LIB([ezcommon], main,,AC_MSG_ERROR(...)) ... This check will fail, since ezcommon is installed in /usr/local/lib/ ezproject by default. Should I add LDFLAGS=-Lezproject or sth.? And how? Or should I add this directory to system's link-search directory? Thank you very much. -- View this message in context: http://www.nabble.com/how-to-install-library-in-a-specific-directory--tp24601847p24601847.html Sent from the Gnu - Automake - General mailing list archive at Nabble.com.
how to build a library in a specified directory?
I have two projects. One generates a shared library and the other uses it. The library is to be installed in /usr/local/lib/ezproject, while the project’s name is ezcommon. I have problems in both the projects. ezcommon’s configure.ac, … AC_INIT(ezcommon, 3.0) AC_DISABLE_STATIC … ezcommon's Makefile.am, lib_LTLIBRARIES = libezcommon.la libdir = $(exec_prefix)/lib/ezproject includedir = $(prefix)/include/ezproject Problem is, if user configure --libdir=..., the user's definition will be ignored. How can I set libdir only when user does not assign it? (Since this dir name is not same as project name, I cannot use pkglib_.) The other question is how to check for this library in the other project, named ezcmd. ezcmd's configure.ac, ... AC_CHECK_LIB([ezcommon], main,,AC_MSG_ERROR(...)) ... This check will fail, since ezcommon is installed in /usr/local/lib/ezproject by default. Should I add LDFLAGS=-Lezproject or sth.? And how? Or should I add this directory to system's link-search directory? Thank you very much.
Re: how to install library in a specific directory?
On 7/22/2009 2:12 AM, bonami wrote: I have two projects. One generates a shared library and the other uses it. The library is to be installed in /usr/local/lib/ezproject, while the project's name is ezcommon. I have problems in both the projects. ezcommon's configure.ac, … AC_INIT(ezcommon, 3.0) AC_DISABLE_STATIC … ezcommon's Makefile.am, lib_LTLIBRARIES = libezcommon.la libdir = $(exec_prefix)/lib/ezproject includedir = $(prefix)/include/ezproject Problem is, if user configure --libdir=..., the user's definition will be ignored. How can I set libdir only when user does not assign it? (Since this dir name is not same as project name, I cannot use pkglib_.) mylibdir = $(libdir)/ezproject mylib_LTLIBRARIES=libezcommon.la myincludedir = $(includedir)/ezproject myinclude_HEADERS = ... The other question is how to check for this library in the other project, named ezcmd. ezcmd's configure.ac, ... AC_CHECK_LIB([ezcommon], main,,AC_MSG_ERROR(...)) ... This check will fail, since ezcommon is installed in /usr/local/lib/ ezproject by default. Should I add LDFLAGS=-Lezproject or sth.? And how? Or should I add this directory to system's link-search directory? If you put your libraries in a non-standard location, then you'll have to add that location to the library search path in one way or another. Either of the options you mention will work. One other option is to generate and install a pkgconfig description file, then use pkgconfig to locate the library. Regards, John
Re: how to install library in a specific directory?
Thank you. I've decided to put the library in /usr/local/lib, while its header files in /usr/local/include/ezproject. It's strange though /usr/local/lib is in /etc/ld.so.conf (actually in another file it includes), and I can build other programs acting much as mine, I have difficulty with mine only. I run ldconfig manually and then it works. Now I'm releasing my software. yours sincerely - - On 7/22/2009 2:12 AM, bonami wrote: I have two projects. One generates a shared library and the other uses it. The library is to be installed in /usr/local/lib/ezproject, while the project's name is ezcommon. I have problems in both the projects. ezcommon's configure.ac, … AC_INIT(ezcommon, 3.0) AC_DISABLE_STATIC … ezcommon's Makefile.am, lib_LTLIBRARIES = libezcommon.la libdir = $(exec_prefix)/lib/ezproject includedir = $(prefix)/include/ezproject Problem is, if user configure --libdir=..., the user's definition will be ignored. How can I set libdir only when user does not assign it? (Since this dir name is not same as project name, I cannot use pkglib_.) mylibdir = $(libdir)/ezproject mylib_LTLIBRARIES=libezcommon.la myincludedir = $(includedir)/ezproject myinclude_HEADERS = ... The other question is how to check for this library in the other project, named ezcmd. ezcmd's configure.ac, ... AC_CHECK_LIB([ezcommon], main,,AC_MSG_ERROR(...)) ... This check will fail, since ezcommon is installed in /usr/local/lib/ ezproject by default. Should I add LDFLAGS=-Lezproject or sth.? And how? Or should I add this directory to system's link-search directory? If you put your libraries in a non-standard location, then you'll have to add that location to the library search path in one way or another. Either of the options you mention will work. One other option is to generate and install a pkgconfig description file, then use pkgconfig to locate the library. Regards, John