PageRenderTime 18ms CodeModel.GetById 7ms app.highlight 3ms RepoModel.GetById 4ms app.codeStats 0ms

/pcc-20111216/os/netbsd/ccconfig.h

#
C++ Header | 102 lines | 57 code | 11 blank | 34 comment | 3 complexity | 8d54128aec5d8fd3c660f3319a69623e MD5 | raw file
  1/*	$Id: ccconfig.h,v 1.20 2011/07/23 08:29:27 plunky Exp $	*/
  2
  3/*
  4 * Copyright (c) 2004 Anders Magnusson (ragge@ludd.luth.se).
  5 * All rights reserved.
  6 *
  7 * Redistribution and use in source and binary forms, with or without
  8 * modification, are permitted provided that the following conditions
  9 * are met:
 10 * 1. Redistributions of source code must retain the above copyright
 11 *    notice, this list of conditions and the following disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above copyright
 13 *    notice, this list of conditions and the following disclaimer in the
 14 *    documentation and/or other materials provided with the distribution.
 15 * 3. The name of the author may not be used to endorse or promote products
 16 *    derived from this software without specific prior written permission
 17 *
 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 28 */
 29
 30/*
 31 * Various settings that controls how the C compiler works.
 32 */
 33
 34#ifndef LIBDIR
 35#define LIBDIR "/usr/lib/"
 36#endif
 37
 38/* common cpp predefines */
 39#define	CPPADD	{ "-D__NetBSD__", "-D__ELF__", NULL, }
 40
 41/* host-dependent */
 42#define CRT0FILE LIBDIR "crt0.o"
 43#define CRT0FILE_PROFILE LIBDIR "gcrt0.o"
 44
 45#if TARGOSVER == 1
 46#define STARTFILES { LIBDIR "crtbegin.o", NULL }
 47#define	ENDFILES { LIBDIR "crtend.o", NULL }
 48#else
 49#define STARTFILES { LIBDIR "crti.o", LIBDIR "crtbegin.o", NULL }
 50#define	ENDFILES { LIBDIR "crtend.o", LIBDIR "crtn.o", NULL }
 51#endif
 52
 53/* shared libraries linker files */
 54#if TARGOSVER == 1
 55#define STARTFILES_S { LIBDIR "crtbeginS.o", NULL }
 56#define	ENDFILES_S { LIBDIR "crtendS.o", NULL }
 57#else
 58#define STARTFILES_S { LIBDIR "crti.o", LIBDIR "crtbeginS.o", NULL }
 59#define	ENDFILES_S { LIBDIR "crtendS.o", LIBDIR "crtn.o", NULL }
 60#endif
 61
 62#ifdef LANG_F77
 63#define F77LIBLIST { "-L/usr/local/lib", "-lF77", "-lI77", "-lm", "-lc", NULL };
 64#endif
 65
 66/* host-independent */
 67#define	DYNLINKER { "-dynamic-linker", "/usr/libexec/ld.elf_so", NULL }
 68
 69#if defined(mach_amd64)
 70#define CPPMDADD \
 71	{ "-D__x86_64__", "-D__x86_64", "-D__amd64__", "-D__amd64", \
 72	  "-D__LP64__", "-D_LP64", NULL, }
 73#elif defined(mach_arm)
 74#define	CPPMDADD { "-D__arm__", NULL, }
 75#elif defined(mach_i386)
 76#define	CPPMDADD { "-D__i386__", NULL, }
 77#define	PCC_SIZE_TYPE		"unsigned int"
 78#define	PCC_PTRDIFF_TYPE	"int"
 79#elif defined(mach_mips)
 80#define	CPPMDADD { "-D__mips__", NULL, }
 81#elif defined(mach_pdp10)
 82#define CPPMDADD { "-D__pdp10__", NULL, }
 83#elif defined(mach_powerpc)
 84#define	CPPMDADD { "-D__ppc__", NULL, }
 85#define STARTLABEL "_start"
 86#elif defined(mach_vax)
 87#define CPPMDADD { "-D__vax__", NULL, }
 88#elif defined(mach_sparc64)
 89#define CPPMDADD { "-D__sparc64__", NULL, }
 90#else
 91#error defines for arch missing
 92#endif
 93
 94#ifndef	PCC_WINT_TYPE
 95#define	PCC_WINT_TYPE		"int"
 96#endif
 97#ifndef	PCC_SIZE_TYPE
 98#define	PCC_SIZE_TYPE		"unsigned long"
 99#endif
100#ifndef	PCC_PTRDIFF_TYPE
101#define	PCC_PTRDIFF_TYPE	"long"
102#endif