exceptions.cc

Christopher Faylor cgf@redhat.com
Thu Dec 14 15:41:00 GMT 2000


On Thu, Dec 14, 2000 at 03:21:17PM -0800, Earnie Boyd wrote:
>Adding
>exceptions.o: exceptions.cc
>        $(CXX) $(CXXFLAGS) -c -fno-inline-functions $< -o $@
>to the winsup/cygwin/Makefile causes
>
>c++ -L/prj/cygcvs/bld/i686-pc-cygwin/winsup
>-L/prj/cygcvs/bld/i686-pc-cygwin/win
>sup/cygwin -L/prj/cygcvs/bld/i686-pc-cygwin/winsup/w32api/lib -isystem
>/prj/cygc
>vs/src/winsup/include -isystem /prj/cygcvs/src/winsup/cygwin/include -isystem
>/p
>rj/cygcvs/src/winsup/w32api/include -isystem
>/prj/cygcvs/src/newlib/libc/sys/cyg
>win -isystem /prj/cygcvs/src/newlib/libc/sys/cygwin32
>-B/prj/cygcvs/bld/i686-pc-
>cygwin/newlib/ -isystem /prj/cygcvs/bld/i686-pc-cygwin/newlib/targ-include
>-isys
>tem /prj/cygcvs/src/newlib/libc/include -O3 -fnative-struct -MD -fbuiltin -c
>-fn
>o-inline-functions ../../../../src/winsup/cygwin/exceptions.cc -o exceptions.o
>In file included from ../../../../src/winsup/cygwin/exceptions.cc:19:
>../../../../src/winsup/cygwin/pinfo.h:125: syntax error before `*'
>../../../../src/winsup/cygwin/pinfo.h: In method `struct sigaction &
>_pinfo::get
>sig(int)':
>../../../../src/winsup/cygwin/pinfo.h:95: `thread2signal' undeclared (first use
>this function)
>../../../../src/winsup/cygwin/pinfo.h:95: (Each undeclared identifier is
>reporte
>d only once
>../../../../src/winsup/cygwin/pinfo.h:95: for each function it appears in.)
>../../../../src/winsup/cygwin/pinfo.h: In method `void
>_pinfo::setthread2signal(
>void *)':
>../../../../src/winsup/cygwin/pinfo.h:119: `ThreadItem' undeclared (first use
>th
>is function)
>../../../../src/winsup/cygwin/pinfo.h:119: parse error before `)'
>../../../../src/winsup/cygwin/exceptions.cc: In function `void
>signal_exit(int)'
>:
>../../../../src/winsup/cygwin/exceptions.cc:1026: invalid use of undefined type
>`class ResourceLocks'
>/prj/cygcvs/src/winsup/cygwin/include/sys/cygwin.h:115: forward declaration of
>`
>class ResourceLocks'
>../../../../src/winsup/cygwin/exceptions.cc:1027: invalid use of undefined type
>`class ResourceLocks'
>/prj/cygcvs/src/winsup/cygwin/include/sys/cygwin.h:115: forward declaration of
>`
>class ResourceLocks'
>c++: file path prefix `/prj/cygcvs/bld/i686-pc-cygwin/newlib/' never used
>make: *** [exceptions.o] Error 1
>
>The question I have is what causes the build when I don't use the specific rule
>and the general rule
>"
>new-$(DLL_NAME): $(DLL_OFILES) $(DEF_FILE) $(DLL_IMPORTS) $(LIBC) $(LIBM)
>Makefi
>le winver_stamp
>        $(CXX) $(CXXFLAGS) -nostdlib -Wl,-shared -o $@ -e $(DLL_ENTRY)
>$(DEF_FIL
>E) $(DLL_OFILES) version.o \
>        winver.o $(DLL_IMPORTS) $(MALLOC_OBJ) $(LIBM) $(LIBC) -lgcc -lstdc++
>
>dll_ofiles: $(DLL_OFILES)
>"
>is used?
>
>Now, why do I want to do this in the first place?  I wanted to use -O3 which
>adds -finline-functions and autoload.cc and exceptions.cc cause undefined
>symbols when building the dll with this switch.  So I want to be specific for
>these objects so that I can add the -fno-inline-functions to the formula.

So, you should look for the appropriate .cc -> .o rule and mimic that.
It's located in Makefile.common and it is not what you've quoted above.

cgf


More information about the Cygwin-developers mailing list