specs defaulting to -mno-cygwin

Phil Edwards devphil@my-dejanews.com
Fri Apr 2 14:10:00 GMT 1999


I've been searching through back issues of the cygwin
list.  There has been discussion that the future 
default cygwin/mingw installation will be -mno-cygwin
(or its equivalent behavior), but that for the moment,
users need to edit the specs file to change those
defaults.

I've just installed on my LoseNT4 box:
    - Cygwin B20.1 (full.exe)
    - egcs-1.1.2-cygb20.tar.gz
    - egcs-1.1.2-mingw-extra.tar.gz
in that order.  The "extra" stuff is under /mingw (I
had to move the stub libm.a out of the way, since the
file format was incorrect).

I'm pleased to report that everything is installed
and working.  I wanted to default to -mno-cygwin so
that the little utility executables that I tend to make
could run on my cow-orkers' machines without needing
to ship cygwin1.dll along.  So I made some changes
to my specs file, and now gcc/g++ both default to
-mno-cygwin, and g++ picks up /mingw/{include,lib}
automatically.

What I'm not certain about is whether I've modified
the specs file in a moronic manner.  I've just recently
started playing with editing/creating specs in the
last couple months (mainly to jack the warning levels
off the top of the scale by default), and I'd like
comments/criticism on what my changes have broken.

The specs file is attached, using whatever attach
method DejaNews feels like using today...

Much thanks!
Phil (on the digest list)



(BTW, the cygb20 binary release of egcs-1.1.2 only
overwrites c++.exe, not g++.exe.)




-----== Sent via Deja News, The Discussion Network ==-----
http://www.dejanews.com/  Easy access to 50,000+ discussion forums
*asm:


*asm_final:


*cpp:
-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE}   %{mcygwin:-D__CYGWIN32__ -D__CYGWIN__}   %{!mcygwin:-isystem /mingw/include -iwithprefixbefore ../../../../i586-cygwin32/include/mingw32 -D__MINGW32__=0.2}

*cc1:
-mno-cygwin %(cc1_spec) 

*cc1plus:
-mno-cygwin 

*endfile:


*link:
%{mwindows:--subsystem windows}                    %{mdll:--dll -e _DllMainCRTStartup@12}

*lib:
%{pg:-lgmon}   -L/mingw/lib               %{mcygwin:-lcygwin}                   %{!mcygwin:-lmingw32 -lmoldname -lcrtdll}                   %{mwindows:-luser32 -lgdi32 -lcomdlg32} 		  -lkernel32 -ladvapi32 -lshell32

*libgcc:
-lgcc

*startfile:
%{mdll: %{mcygwin:dllcrt0%O%s}                                 %{!mcygwin:dllcrt1%O%s}}                         %{!mdll: %{mcygwin:crt0%O%s}                                  %{!mcygwin:crt1%O%s} %{pg:gcrt0%O%s}}  -L/mingw/lib

*switches_need_spaces:


*signed_char:
%{funsigned-char:-D__CHAR_UNSIGNED__}

*predefines:
-Di386 -D_WIN32   -DWINNT  -D_X86_=1 -D__STDC__=1  -D__stdcall=__attribute__((__stdcall__))   -D__cdecl=__attribute__((__cdecl__))   -D__declspec(x)=__attribute__((x))   -Asystem(winnt) -Acpu(i386) -Amachine(i386)

*cross_compile:
1

*version:
egcs-2.91.66

*multilib:
. ;

*multilib_defaults:


*multilib_extra:


*multilib_matches:


*linker:
collect2

*cpp_486:
%{!ansi:-Di486} -D__i486 -D__i486__

*cpp_586:
%{!ansi:-Di586 -Dpentium} 	-D__i586 -D__i586__ -D__pentium -D__pentium__

*cpp_686:
%{!ansi:-Di686 -Dpentiumpro} 	-D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__

*cpp_cpu_default:
%(cpp_586)

*cpp_cpu:
-Asystem(unix) -Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}

*cc1_cpu:
%{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{mno-486:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mno-386:-mcpu=i486 -march=i486} %{mno-pentium:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mno-pentiumpro:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}



More information about the Cygwin mailing list