Hi Stefan,
I would like to use "generic" flags for most of "support" tools in cvsdude.
My idea is:
Premise: for this moment I take a care just about 32bit environment
two include files: which we can called c_flags.inc and cxx_flags.inc
c_flags.inc for every tools or libs which are pure C
cxx_flags.ins for every tools or libs which are C++ and will be linked
with stdcxx
These include files will be included in every particular spec files.
If is tool in C then c_flags.inc will be included, if tool is C++ then
will be included cxx_flags.inc
For c_flags.inc and cxx_flags.inc I would like to use generic set of
flags which are be useful for most of tools. If some tool or libs will
need some special flags we can used two ways how we can specified
them.
First way, directly in spec file when I read generic flags I can add
further ... example >>>
%include c_flags
export CFLAGS="%_CFLAGS -DSOMETHING -DFURTHER"
Second way, provide complete specific set of flags for this tool. In
this time it's done for stdcxx, boost, gnump. You can see in
stdcxx.spec ...
%include stdcxx.inc
export CFLAGS="%_CFLAGS"
So here are those flags (could be the generic) and if you have a
couple minutes time, please could you check those "generic" flags
(location in cvdude is SPECS/include/c_flags.inc SPECS/include/cxx_flags.inc)
========
C_FLAGS
========
%ifarch sparc
%define _CFLAGS -Xc -errshort=full -errfmt=error -errwarn=%none -xO4
-s -features=extinl -xregs=no%appl -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xcsi -xinline=%auto -xustr=ascii_utf16_ushort
-xvis=yes -xsafe=mem -xmemalign=8i -z now -z rescan -z absexec -xipo=1
-xldscope=symbolic -xpagesize=default -xF=%none -xcode=pic32
-xalias_level=std -xmemalign=8i -xsafe=mem -xthreadvar=%all -lc
-lpthread -lposix4 -lrt -mt -D_REENTRANT -D__EXTENSIONS__
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=600 -D_XPG6
-D_POSIX_PTHREAD_SEMANTICS -D_POSIX_C_SOURCE=200112L
-D__XOPEN_OR_POSIX -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99
-DWORDS_BIGENDIAN=1 -DSOLARIS -DSOLARIS10 -D_UNICODE -DUNICODE
-DNDEBUG -DNDEBUG -KPIC -xtarget=ultra2 -m32 -xarch=sparcvis
-xchip=ultra2 -xcache=64/32/4:8192/512/2 -W2,-xwrap_int -xO4 -s
%define _LDFLAGS -KPIC -lc -ldl -lpthread -lposix4 -lrt -lm -mt
-D_REENTRANT -DWORDS_BIGENDIAN=1 -DSOLARIS -DSOLARIS10 -D_UNICODE
-DUNICODE -DNDEBUG -xldscope=symbolic -xlibmil -xpagesize=default
-xF=%none -xprefetch=auto -xprefetch_auto_type=indirect_array_access
-xprefetch_level=3 -xbuiltin=%all -xcode=pic32 -xthreadvar=%all -z
combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z
absexec -xipo=1 -xtarget=ultra2 -m32 -xarch=sparcvis -xchip=ultra2
-xcache=64/32/4:8192/512/2 -xO4 -s
%endif
%ifarch i386
%define _CFLAGS -Xc -errshort=full -errfmt=error -errwarn=%none -xO3
-s -xjobs=2 -xregs=no%frameptr -dalign -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xcsi -xinline=%auto -xustr=ascii_utf16_ushort -z
combreloc -z redlocsym -z nodefaultlib -z now -z rescan -z absexec
-xipo=0 -xldscope=symbolic -xrestrict=%all -xF=%none -xalias_level=std
-xsafe=mem -xthreadvar=%all -lc -lpthread -lposix4 -lrt -mt
-D_REENTRANT -D__EXTENSIONS__=1 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=600 -D_XPG6
-D_POSIX_PTHREAD_SEMANTICS -D_POSIX_C_SOURCE=200112L
-D__XOPEN_OR_POSIX -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99
-D_UNICODE -DUNICODE -DSOLARIS -DSOLARIS10 -DNDEBUG -DNO_DEBUG -KPIC
-xtarget=pentium4 -m32 -xarch=sse2 -xchip=pentium4
-xcache=8/64/4:256/128/8 -xO3 -s
%define _LDFLAGS -lc -lm -ldl -KPIC -lpthread -lposix4 -lrt -mt
-D_REENTRANT -D_UNICODE -DUNICODE -DSOLARIS10 -xldscope=symbolic
-xlibmil -xrestrict=%all -xF=%none -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xthreadvar=%all -z combreloc -z redlocsym -z
nodefaultlib -z now -z rescan -z absexec -xipo=0 -xtarget=pentium4
-m32 -xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -xO3 -s
%endif
==========
CXX_FLAGS
==========
%ifarch sparc
%define bld_arch "sparc"
%else
%define bld_arch "i386"
%endif
%define _ERRORS -errshort=full -errfmt=error -errwarn=%none
%define _DEFINES -D_REENTRANT -D_RWSTD_REENTRANT -D__EXTENSIONS__
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS
-DSOLARIS -DSOLARIS10 -DNDEBUG
%define _C_DEFINES -D_XOPEN_SOURCE=600 -D_XPG6
-D_POSIX_C_SOURCE=200112L -D__XOPEN_OR_POSIX -D_STRICT_STDC
-D_STRICT_STDC__ -D_STDC_C99
%define _INCLUDES -I%{_foss_include}
%ifarch sparc
%define _CFLAGS -Xc %{_ERRORS} -xO4 -s -features=extinl -xregs=no%appl
-xprefetch=auto -xprefetch_auto_type=indirect_array_access
-xprefetch_level=3 -xbuiltin=%all -xcsi -xinline=%auto
-xustr=ascii_utf16_ushort -xvis=yes -xsafe=mem -xmemalign=8i -z now -z
rescan -z absexec -xipo=1 -xldscope=symbolic -xpagesize=default
-xF=%none -xcode=pic32 -xalias_level=std -xmemalign=8i -xsafe=mem
-xthreadvar=%all -lc -lpthread -lposix4 -lrt -mt -DWORDS_BIGENDIAN=1
%{_DEFINES} %{_C_DEFINES} %{_INCLUDES} -KPIC -xtarget=ultra2 -m32
-xarch=sparcvis -xchip=ultra2 -xcache=64/32/4:8192/512/2
-W2,-xwrap_int -xO4 -s
%define _CXXFLAGS -library=no%Cstd
-features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
-instances=global -template=geninlinefuncs -xO4 -s -xlang=c99
-xregs=no%appl -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xinline=%auto -xpagesize=default -xlibmil -xvis=yes
-xsafe=mem -xmemalign=8i -xpagesize=default -xlibmil
-xustr=ascii_utf16_ushort -xlibmopt -z now -z rescan -z absexec
-xipo=1 -xldscope=symbolic -Qoption ccfe -features=gcc -Qoption iropt
-xwrap_int -xalias_level=compatible -lc -lpthread -lposix4 -lrt -mt
-D_REENTRANT -D_RWSTD_REENTRANT -DNDEBUG -KPIC -xpagesize=default
-xF=%none -xcode=pic32 -xthreadvar=%all -D__EXTENSIONS__
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=500 -D_XPG5
-D_POSIX_PTHREAD_SEMANTICS -DWORDS_BIGENDIAN=1 -DSOLARIS -DSOLARIS10
-DNDEBUG -xtarget=ultra2 -m32 -xarch=sparcvis -xchip=ultra2
-xcache=64/32/4:8192/512/2 -xO4 -s
%define _LDFLAGS -library=no%Cstd -Y P,/opt/foss/lib:/usr/lib -i
-L/opt/foss/lib -L/usr/lib -Bdynamic -lc -lCrun -lstdcxx -lm -ldl
-R/opt/foss/lib:/usr/lib -KPIC -lc -lpthread -lposix4 -lrt -lm -mt
-D_REENTRANT -D_RWSTD_REENTRANT -DWORDS_BIGENDIAN=1 -DSOLARIS
-DSOLARIS10 -DNDEBUG -xldscope=symbolic -xlibmil -xpagesize=default
-xF=%none -xprefetch=auto -xprefetch_auto_type=indirect_array_access
-xprefetch_level=3 -xbuiltin=%all -xcode=pic32 -xthreadvar=%all -z
combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z
absexec -xipo=1 -xtarget=ultra2 -m32 -xarch=sparcvis -xchip=ultra2
-xcache=64/32/4:8192/512/2 -xO4 -s
%endif
%ifarch i386
%define _OPTIM -xO3 -xregs=no%frameptr -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xinline=%auto -xjobs=2
%define _LINKOPTIM -z combreloc -z redlocsym -z nodefaultlib -z now -z
rescan -z absexec -xipo=0 -xldscope=symbolic
%define _CFLAGS -Xc %{_ERRORS} -s -dalign %{_OPTIM} -xcsi
-xustr=ascii_utf16_ushort %{_LINKOPTIM} -xrestrict=%all -xF=%none
-xalias_level=std -xsafe=mem -xthreadvar=%all -lc -lpthread -lposix4
-lrt -mt %{_DEFINES} %{_C_DEFINES} %{_INCLUDES} -KPIC
-xtarget=pentium4 -m32 -xarch=sse2 -xchip=pentium4
-xcache=8/64/4:256/128/8 -s
%define _CXXFLAGS -library=no%Cstd
-features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
-instances=global -template=geninlinefuncs -s -xlang=c99 %{_OPTIM}
-xlibmil -xustr=ascii_utf16_ushort -xlibmopt %{_LINKOPTIM}
-xalias_level=compatible -Qoption ccfe -features=gcc -lc -lpthread
-lposix4 -lrt -mt %{_DEFINES} %{_INCLUDES} -KPIC -xrestrict=%all
-xF=%none -xthreadvar=%all -D_XOPEN_SOURCE=500 -xtarget=pentium4 -m32
-xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -s
%define _LDFLAGS -library=no%Cstd -Y P,/opt/foss/lib:/usr/lib -i
-L/opt/foss/lib -L/usr/lib -Bdynamic -lc -lCrun -lstdcxx -lm -ldl
-R/opt/foss/lib:/usr/lib -KPIC -lc -lpthread -lposix4 -lrt -mt
-D_REENTRANT -D_RWSTD_REENTRANT=1 -DSOLARIS -DSOLARIS10
-xldscope=symbolic -xlibmil -xrestrict=%all -xF=%none -xprefetch=auto
-xprefetch_auto_type=indirect_array_access -xprefetch_level=3
-xbuiltin=%all -xthreadvar=%all -z combreloc -z redlocsym -z
nodefaultlib -z now -z rescan -z absexec -xipo=0 -xtarget=pentium4
-m32 -xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -xO3 -s
%endif
Thanks a lot
Have a nice day,
Luc
--
Lukas 'Luc' Oboril
IRC nickname: luc^ at freenode
When dealing with people, let us remember we are not dealing with
creatures of logic. We are dealing with creatures of emotions,
creatures bristling with prejudices and motivated by pride and vanity.
Dale Carnegie