The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"autotools vs. FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Компиляция)
Изначальное сообщение [ Отслеживать ]

"autotools vs. FreeBSD"  +/
Сообщение от mirya email on 17-Июл-07, 19:24 
Есть FreeBSD6.2, на которой я пытаюсь с пом. GNU autotools собрать некий shared library (.so). Пользуясь один из тюториалов, сооружаю такой configure.in:

AC_INIT(libfoobar.c)
AM_INIT_AUTOMAKE(libfoobar,0.0.1)
AM_PROG_LIBTOOL
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_OUTPUT(Makefile)

далее скармливаю его:

$ aclocal19
aclocal:configure.in:3: warning: macro `AM_PROG_LIBTOOL' not found in library
$ autoconf
configure.in:3: error: possibly undefined macro: AM_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Собсно на этом затык. Кто знаком с автотулз - помогите

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "autotools vs. FreeBSD"  +/
Сообщение от Andrew Kolchoogin on 17-Июл-07, 20:14 
>далее скармливаю его:
>
>$ aclocal19
>aclocal:configure.in:3: warning: macro `AM_PROG_LIBTOOL' not found in library
    Э-э-э-э-э, мамо, а 'libtoolize' где?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "autotools vs. FreeBSD"  +/
Сообщение от mirya email on 17-Июл-07, 20:50 
>    Э-э-э-э-э, мамо, а 'libtoolize' где?

В каком месте его запускать? И есть ли некий канонический пример для сборки простой shared library?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "autotools vs. FreeBSD"  +/
Сообщение от vic (??) on 17-Июл-07, 21:08 
>>    Э-э-э-э-э, мамо, а 'libtoolize' где?
>
>В каком месте его запускать? И есть ли некий канонический пример для
>сборки простой shared library?

запускать в каталоге проекта.

макрос с ranlib кстати устарел.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "autotools vs. FreeBSD"  +/
Сообщение от elvenic (??) on 17-Июл-07, 22:04 
>>    Э-э-э-э-э, мамо, а 'libtoolize' где?
>
>В каком месте его запускать?

Вот у меня есть такой shell скрипт, reconf.sh называется, который лежит в корневом каталоге сорсов моего проекта, и который я запускаю каждый раз когда мне надо /.configure запустить:

8<------------reconf.sh-------------------

#!/bin/sh
rm -f config.cache
echo "- aclocal."
aclocal -I m4
echo "- libtoolize."
libtoolize --copy --force
echo "- autoconf."
autoconf
echo "- autoheader."
autoheader
echo "- automake."
automake --foreign --add-missing --copy
echo "- ./configure."
./configure

8<----------------------------------------

И есть ли некий канонический пример для
>сборки простой shared library?


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "autotools vs. FreeBSD"  +/
Сообщение от anonymous (??) on 19-Июл-07, 21:56 
>Вот у меня есть такой shell скрипт, reconf.sh называется,

autoreconf?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "autotools vs. FreeBSD"  +/
Сообщение от elvenic (??) on 19-Июл-07, 23:22 
>>Вот у меня есть такой shell скрипт, reconf.sh называется,
>
>autoreconf?

Ну вообще то да, autoreconf то же самое делает.

Просто свой reconf.sh я написал еще до того как товарищи из GNU выпустили autoreconf - так он у меня по проектам и кочует, с минимальными изменениями :)

А свой скрипт я тут привел для того чтобы наглядно показать где именно в последовательности вызовов autotools нужно вызывать libtoolize.


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

5. "autotools vs. FreeBSD"  +/
Сообщение от andrey (??) on 18-Июл-07, 02:56 
>>    Э-э-э-э-э, мамо, а 'libtoolize' где?
>
>В каком месте его запускать? И есть ли некий канонический пример для
>сборки простой shared library?


в небольших проектах нужен небольшой makefile:

TARGET = libproject
LIBS = -lextlib
CFLAGS = -O2 -Wall

CC = g++

all: $(TARGET).so $(TARGET).a

$(TARGET).so: $(patsubst %.cpp, %.o, $(wildcard *.cpp))
        $(CC) -shared -fPIC -o $@ $^ $(LIBS)

$(TARGET).a: $(patsubst %.cpp, %.o, $(wildcard *.cpp))
        ar rvs $@ $^

%.o: %.cpp
        $(CC) -c -MD $< $(CFLAGS)

include $(wildcard *.d)

.PHONY: clean

clean:
        rm -f *.a
        rm -f *.so
        rm -f *.d
        rm -f *.o

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "autotools vs. FreeBSD"  +/
Сообщение от Аноним on 19-Июл-07, 17:21 
Выкидывай autotools, это морально устаревшее ублюдство.

Юзай scons или cmake, документация на их сайтах с примерами. Для твоих целей надо будет написать максимум 5 строчек.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "autotools vs. FreeBSD"  +/
Сообщение от stolik (ok) on 21-Июл-07, 02:52 
>Выкидывай autotools, это морально устаревшее ублюдство.
>
>Юзай scons или cmake, документация на их сайтах с примерами. Для твоих
>целей надо будет написать максимум 5 строчек.

Это как Вы выражаетесь "ублюдство" заткнет Ваши мейки шмейки и кумейки. А если не умеем пользоваться то не надо пороть глупости(хотя теперь понятно почему Вы записались под анонимом) а лучше бы взяли и почитали бы документацию GNU Autotool. Прежде чем говорить, надо хотя бы немного знать

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "autotools vs. FreeBSD"  +/
Сообщение от iTux on 20-Дек-11, 12:04 
Ахха, соберите CMAKE'ом netatalk из гит репы для опенка :)
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру