powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux/autotools/C++ - отучить ./configure добавлять -g
3 сообщений из 3, страница 1 из 1
Linux/autotools/C++ - отучить ./configure добавлять -g
    #34808939
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Имеется небольшая программа Linux на C++, компилируемая autotools
(autoconf 2.61, automake 1.9.6). Выяснилось, что при компиляции в
проект автоматом добавляется флаг -g (т.е. отладочная информация), и
из-за этого размер программы увеличивается с 30кбайт до 160.
configure.ac следующий:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ( 2 . 61 )
AC_INIT(cdbase,  0 . 1 , *******@*******.ru)
AM_INIT_AUTOMAKE(cdbase,  0 . 1 )
AC_CONFIG_SRCDIR([main.cpp])
AM_CONFIG_HEADER([config.h])

AC_ARG_ENABLE([debug], [AC_HELP_STRING([--enable-debug], 
    [enables debugging information(default is no)])],
[debug=$enableval], [debug=no])
        
if test "$debug" = yes
then
    CFLAGS="$CFLAGS -g"
    CPPFLAGS="$CPPFLAGS -g"
    CXXFLAGS="$CXXFLAGS -g"
fi

# Checks for programs.
AC_PROG_CXX

# Checks for libraries.

# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([string.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T

# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_LSTAT
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_CHECK_FUNCS([mkdir strchr memset strcasecmp])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

Я хотел бы, чтобы флаг отладки был по умолчанию выключен и врубался
только при добавлении к configure параметра --enable-debug. На практике
(как выяснилось после ковыряния в
сгенерированном ./configure), ./configure добавляет к флагам -g, если
компилер его поддерживает. Как это можно "культурно" вылечить? Т.е. я в
курсе, что можно воткнуть перед "if test "$debug" обнуление флагов
CFLAGS и проч, но просто некоторые другие программы, использующие
autotools, этого не делают, но флаг -g при конфигурации не врубается.
Как это получить?

Спасибо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Linux/autotools/C++ - отучить ./configure добавлять -g
    #34809586
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понимаю, подразумевается, что это плохая практика. Собственно сам флаг -g никак не влияет на код, а при инсталляции отладочную информацию можно обрезать strip-ом.
В automake делайте make install-strip. Если без него то install -s.
...
Рейтинг: 0 / 0
Linux/autotools/C++ - отучить ./configure добавлять -g
    #34809642
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teras wrote:

> В automake делайте make install-strip. Если без него то install -s.
Понятно, спасибо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux/autotools/C++ - отучить ./configure добавлять -g
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]