~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to .pc/10_s390.diff/CONFIG/include/atlconf.h

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot, Sébastien Villemot, Sylvestre Ledru
  • Date: 2012-08-04 11:56:20 UTC
  • Revision ID: package-import@ubuntu.com-20120804115620-wmwz6jhj0njmyw0u
Tags: 3.8.4-9
[ Sébastien Villemot ]
* libatlas-test: put in devel/extra, to reflect override
* Force generic PPC CPU when building a non-custom package on a PPC arch
  (Closes: #680096)

[ Sylvestre Ledru ]
* Use series for list the patches
* Patches refreshed

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef ATLCONF_H
 
2
   #define ATLCONF_H
 
3
 
 
4
#include <stdio.h>
 
5
#include <stdlib.h>
 
6
#include <string.h>
 
7
#include <assert.h>
 
8
 
 
9
#define NOS 12
 
10
static char *osnam[NOS] =
 
11
   {"UNKNOWN", "Linux", "SunOS", "SunOS4", "OSF1", "IRIX", "AIX",
 
12
    "Win9x", "WinNT", "HPUX", "FreeBSD", "OSX"};
 
13
enum OSTYPE {OSOther=0, OSLinux, OSSunOS, OSSunOS4, OSOSF1, OSIRIX, OSAIX,
 
14
             OSWin9x, OSWinNT, OSHPUX, OSFreeBSD, OSOSX};
 
15
#define OSIsWin(OS_) (((OS_) == OSWinNT) || ((OS_) == OSWin9x))
 
16
 
 
17
enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS};
 
18
 
 
19
#define NMACH 37
 
20
static char *machnam[NMACH] =
 
21
   {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5",
 
22
    "POWER6", "POWER7",
 
23
    "P5", "P5MMX", "PPRO", "PII", "PIII", "PM", "CoreSolo",
 
24
    "CoreDuo", "Core2Solo", "Core2", "Corei1", "Corei2", "P4", "P4E",
 
25
    "Efficeon", "K7", "HAMMER", "AMD64K10h", "UNKNOWNx86",
 
26
    "IA64Itan", "IA64Itan2",
 
27
    "USI", "USII", "USIII", "USIV", "UST2", "UnknownUS",
 
28
    "MIPSR1xK", "MIPSICE9"};
 
29
enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5,
 
30
               IbmPwr6, IbmPwr7,
 
31
               IntP5, IntP5MMX, IntPPRO, IntPII, IntPIII, IntPM, IntCoreS,
 
32
               IntCoreDuo, IntCore2Solo, IntCore2, IntCorei1, IntCorei2,
 
33
               IntP4, IntP4E, TMEff, AmdAthlon, AmdHammer, Amd64K10h, x86X,
 
34
               IA64Itan, IA64Itan2,
 
35
               SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST2, SunUSX,
 
36
               MIPSR1xK, /* includes R10K, R12K, R14K, R16K */
 
37
               MIPSICE9   /* SiCortex ICE9 -- like MIPS5K */
 
38
               };
 
39
#define MachIsX86(mach_) \
 
40
   ( (mach_) >= IntP5 && (mach_) <= x86X )
 
41
#define MachIsIA64(mach_) \
 
42
   ( (mach_) >= IA64Itan && (mach_) <= IA64Itan2 )
 
43
#define MachIsUS(mach_) \
 
44
   ( (mach_) >= SunUSI && (mach_) <= SunUSX )
 
45
#ifdef __mips__
 
46
   #define MachIsMIPS(mach_) \
 
47
      ( (__mips__) || (mach_) >= MIPSR1xK && (mach_) <= MIPSICE9 )
 
48
#else
 
49
   #define MachIsMIPS(mach_) \
 
50
      ( (mach_) >= MIPSR1xK && (mach_) <= MIPSICE9 )
 
51
#endif
 
52
#define MachIsPPC(mach_) \
 
53
   ( (mach_) >= PPCG4 && (mach_) <= PPCG5 )
 
54
 
 
55
static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"};
 
56
static char *f2c_intstr[5] =
 
57
       {"UNKNOWN", "F77_INTEGER=int", "F77_INTEGER=long",
 
58
        "F77_INTEGER=\"long long\"", "F77_INTEGER=short"};
 
59
static char *f2c_strstr[5]=
 
60
       {"UNKNOWN", "SunStyle", "CrayStyle", "StructVal", "StructPtr"};
 
61
 
 
62
enum F2CNAME {f2c_NamErr=0, f2c_Add_, f2c_Add__, f2c_NoChange, f2c_UpCase};
 
63
enum F2CINT {f2c_IntErr=0, FintCint, FintClong, FintClonglong, FintCshort};
 
64
enum F2CSTRING {f2c_StrErr=0, fstrSun, fstrCray, fstrStructVal, fstrStructPtr};
 
65
 
 
66
#define NISA 6
 
67
static char *ISAXNAM[NISA] =
 
68
   {"", "AltiVec", "SSE3", "SSE2", "SSE1", "3DNow"};
 
69
enum ISAEXT {ISA_None=0, ISA_AV, ISA_SSE3, ISA_SSE2, ISA_SSE1, ISA_3DNow};
 
70
 
 
71
#define NASMD 7
 
72
enum ASMDIA
 
73
   {ASM_None=0, gas_x86_32, gas_x86_64, gas_sparc, gas_ppc, gas_parisc,
 
74
    gas_mips};
 
75
static char *ASMNAM[NASMD] =
 
76
   {"",     "GAS_x8632", "GAS_x8664", "GAS_SPARC", "GAS_PPC", "GAS_PARISC",
 
77
    "GAS_MIPS"};
 
78
 
 
79
 
 
80
/*
 
81
 * Used for archinfo probes (can pack in bitfield)
 
82
 */
 
83
enum WHATPROBE{Parch=1, P64=2, Pncpu=4, Pverb=8, Pncache=16, PCacheSize=32,
 
84
               PMhz=64, Pthrottle=128};
 
85
 
 
86
#define NARDEF 4
 
87
enum ARDEF{ADsk=0, ADdk, ADsm, ADdm};  /* m = matmul kernel, k = non-mm kern */
 
88
/*
 
89
 * Used for all the compilers ATLAS needs
 
90
 */
 
91
#define NCOMP 7
 
92
static char *COMPNAME[NCOMP]={"ICC","SMC","DMC","SKC","DKC","XCC","F77"};
 
93
#define ICC_ 0   /* Compiles non-computation routines, and all I/O */
 
94
#define SMC_ 1   /* single prec matmul compiler */
 
95
#define DMC_ 2   /* double prec matmul compiler */
 
96
#define SKC_ 3   /* single prec computation compiler (non-mm kernels) */
 
97
#define DKC_ 4   /* double prec computation compiler */
 
98
#define XCC_ 5   /* Compiler for frontend of cross-compilation */
 
99
#define F77_ 6   /* Valid fixed-format Fortran77 compiler */
 
100
 
 
101
typedef struct CompNode COMPNODE;
 
102
struct CompNode
 
103
{
 
104
   int priority;              /* priority of this definition */
 
105
   int comps[1];              /* bitfield: (1<<ICC)|...|(1<<F77) */
 
106
   int OS[(NOS+31)/32];       /* bitfield for OS */
 
107
   int arch[(NMACH+31)/32];   /* bitfields for architecture */
 
108
   char *comp, *flags;        /* compiler & flags as strings */
 
109
   COMPNODE *next;
 
110
};
 
111
#include "atlconf_misc.h"
 
112
 
 
113
#endif