Ignore:
Timestamp:
Apr 10, 2007, 12:04:27 AM (18 years ago)
Author:
ansari
Message:

refonte,simplification machdefs_mkmf.h, suppression flags MWERKS (compilo CodeWarrior pour MacOS8,9) et suppression flag SWAP, remplacement SGI_ARCH64 par SO_ARCH64 , Reza 10/04/2007

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/machdefs_mkmf.h

    r3131 r3203  
    11#ifndef MACHDEFS_SEEN
    22#define MACHDEFS_SEEN
     3
     4/* -------------- List of flags (and description) -------------------
     5  - SO_ARCH64 : select 64 bits architecture (default 32 bits)
     6  - SO_NOFPIC  : disable fPIC flag (Position Independent Code) default fPIC enabled
     7  - SO_SASIZET64 : select 64 bits size for array indices (default 32 bits)
     8  - SO_BOUNDCHECKING : activate bound checking (in accessing array elements)
     9  - SOPHYA_DEBUG : debug flag ( --> if set, SO_BOUNDCHECKING is also set)
     10  ------------------------------------------------------------------  */
     11
     12#ifdef SOPHYA_DEBUG
     13#define SO_BOUNDCHECKING
     14#endif
    315
    416/***********************************************************************/
     
    1931#define MACH_HP
    2032#define OS_HPUX
    21 #endif
    22 
    23 #ifdef __MWERKS__
    24 #define MACH_POWERMAC
    25 #define OS_MACOS
    2633#endif
    2734
     
    5259#elif defined(powerpc)
    5360#define MACH_POWERPC
    54 /*  ----------------------
    55    $CHECK$ (Reza Jan07) : __i386__ pas defini sur AMD 
    56     Il faut affiner ce test, si on veut etre sur
    57     qu'on ait sur un processeur compatible Intel ( / AMD )
    58   #elif defined(__i386__)   
    59   #define MACH_INTEL
    60   #else
    61   #error Undefined Platform (machine) type with linux in machdefs.h 
    62 -------------------------- */
     61elif defined(__i386__)   
     62#define MACH_INTEL
     63#else
     64#define MACH_AMD
     65/* $CHECK$ (Reza Avril 2007):  Il faut affiner ce test pour
     66   determiner correctement le type de  processeur        */
    6367#endif
    6468#define OS_LINUX
    6569#endif
    6670
    67 
    6871/***********************************************************************/
    6972/* Hardware/OS dependent stuff                                         */
    7073/***********************************************************************/
    7174
    72 #if defined(OS_OSF1)
    73 
    74   typedef signed char int_1;
    75   typedef unsigned char uint_1;
    76   typedef int int_4;
    77   typedef unsigned int uint_4;
    78   typedef short int_2;
    79   typedef unsigned short uint_2;
    80   typedef float r_4;
    81   typedef double r_8;
    82   typedef long long int_8;
    83   typedef unsigned long long uint_8;
    84 
    85 #define  SWAP 1
    86 #define  SWAPDEFAUT 1
    87 
    88 #elif  defined(OS_HPUX)
    89 
    90   typedef signed char int_1;
    91   typedef unsigned char uint_1;
    92   typedef int int_4 ;
    93   typedef unsigned int uint_4;
    94   typedef short int_2;
    95   typedef unsigned short uint_2;
    96   typedef float r_4;
    97   typedef double r_8;
    98   typedef long long int_8;
    99   typedef unsigned long long uint_8;
    100 
    101 #define  SWAP 0
    102 #define  SWAPDEFAUT   0
    103 
    104 
    105 #elif  defined( OS_AIX )
    106 
    107   typedef signed char int_1;
    108   typedef unsigned char uint_1;
    109   typedef int int_4;
    110   typedef unsigned int uint_4;
    111   typedef short int_2;
    112   typedef unsigned short uint_2;
    113   typedef float r_4;
    114   typedef double r_8;
    115   typedef long long int_8;
    116   typedef unsigned long long uint_8;
    117 
    118 #define  SWAP 0
    119 #define  SWAPDEFAUT   0
    120 
    121 /* Check for solaris on intel... */
    122 #elif  defined( OS_SOLARIS ) && defined( MACH_SUN )
    123 
    124   typedef signed char int_1;
    125   typedef unsigned char uint_1;
    126   typedef int int_4;
    127   typedef unsigned int uint_4;
    128   typedef short int_2;
    129   typedef unsigned short uint_2;
    130   typedef float r_4;
    131   typedef double r_8;
    132   typedef long long int_8;
    133   typedef unsigned long long uint_8;
    134 
    135 #define  SWAP 0
    136 #define  SWAPDEFAUT   0
    137 
    138 #elif  defined( OS_IRIX64 )
    139 
    140   typedef signed char int_1;
    141   typedef unsigned char uint_1;
    142   typedef int int_4;
    143   typedef unsigned int uint_4;
    144   typedef short int_2;
    145   typedef unsigned short uint_2;
    146   typedef float r_4;
    147   typedef double r_8;
    148   typedef long long int_8;
    149   typedef unsigned long long uint_8;
    150 
    151 #define  SWAP 0
    152 #define  SWAPDEFAUT   0
    153 
    154 /* Check linux on other machines than Intel */
    155 #elif defined(OS_LINUX)
    156 /* Sizes OK for PowerPC, Alpha, Intel    */
    157 /* On Alpha, long is 8 bytes             */
    158   typedef signed char int_1;
    159   typedef unsigned char uint_1;
    160   typedef int int_4;
    161   typedef unsigned int uint_4;
    162   typedef short int_2;
    163   typedef unsigned short uint_2;
    164   typedef float r_4;
    165   typedef double r_8;
    166   typedef long long int_8;
    167   typedef unsigned long long uint_8;
    168 
    169 #if defined(powerpc) || (__alpha__)
    170 #define SWAP 0
    171 #define SWAPDEFAUT 0
    172 #else
    173 #define  SWAP 1
    174 #define  SWAPDEFAUT   1
    175 #endif
    176 
    177 #elif defined(OS_MACOS)
    178 
    179   typedef signed char int_1;
    180   typedef unsigned char uint_1;
    181   typedef long int_4;
    182   typedef unsigned long uint_4;
    183   typedef short int_2;
    184   typedef unsigned short uint_2;
    185   typedef float r_4;
    186   typedef double r_8;
    187   typedef long long int_8;
    188   typedef unsigned long long uint_8;
    189 
    190 #define  SWAP 0
    191 #define  SWAPDEFAUT   0
    192 
    193 #elif defined(OS_MACOSX)
    194 
    195   typedef signed char int_1;
    196   typedef unsigned char uint_1;
    197   typedef int int_4;
    198   typedef unsigned int uint_4;
    199   typedef short int_2;
    200   typedef unsigned short uint_2;
    201   typedef float r_4;
    202   typedef double r_8;
    203   typedef long long int_8;
    204   typedef unsigned long long uint_8;
    205 
    206 #ifdef MACH_POWERPC
    207 #define  SWAP 0
    208 #define  SWAPDEFAUT   0
    209 #else
    210 #define  SWAP 1
    211 #define  SWAPDEFAUT   1
    212 #endif
    213 
    214 #else
    215 #error  Undefined Machine/OS type in machdefs.h
    216 #endif
    217 
    218 
    219 
    220 #if SWAP==1
     75/* --------------------------------------------------------------- */
     76/* 1/     typedefs for different size integers and floats          */
     77/* --------------------------------------------------------------- */
     78
     79/* --- Avr2007: The following typdefs should be OK for most system */
     80/* and compilers:  OSF, Linux, AIX, SGI, MacOSX, Sun, HP           */
     81
     82typedef signed char int_1;
     83typedef unsigned char uint_1;
     84typedef short int_2;
     85typedef unsigned short uint_2;
     86typedef int int_4;
     87typedef unsigned int uint_4;
     88typedef long long int_8;
     89typedef unsigned long long uint_8;
     90typedef float r_4;
     91typedef double r_8;
     92
     93/* --------------------------------------------------------------- */
     94/* 2/     Endiannes (/ byteswap for different processors)          */
     95/* --------------------------------------------------------------- */
     96/* 
     97    ==> POWERPC, IBMRS, HP_UX, IRIX64, SunSPARC (?) :
     98           BigEndian    ( SWAP=SWAPDEFAUT=0)
     99    ==> ALPHA, INTEL, AMD :
     100           LittleEndian ( SWAP=SWAPDEFAUT=1)       
     101*/                                     
     102
     103#if defined(MACH_ALPHA) || defined(MACH_INTEL) || defined(MACH_AMD)
    221104#define IS_BIG_ENDIAN 0
    222 #else
     105#else 
    223106#define IS_BIG_ENDIAN 1
    224107#endif
    225108
     109/* ---- La taille des index des tableaux ---- */
     110#ifdef SO_SASIZET64
     111typedef int_8 sa_size_t ;
     112#else
     113typedef int_4 sa_size_t ;
     114#endif
     115
    226116
    227117/***********************************************************************/
     
    229119/***********************************************************************/
    230120
    231 /*    __MWERKS__   : Metrowerks Codewarrior (>= PRO 4)                 */
    232121/*    __DECCXX     : DEC CXX, version >= 6 is required                 */
    233122/*    __GNUG__     : GNU C++ 2.8.1, egcs ??                            */
     
    249138/*   ITER_TAG              : use iter_tag for iterator qualifiers in STL   */
    250139/*   NO_STRSTREAM          : does not have strstream                       */
    251 /*   NO_EXPLICIT           : does not know about explicit keyword          */
    252140/*   HAS_IOS_BIN                                                           */
    253141/*   HAS_IOS_NOCREATE                                                      */
     
    292180/* now the specific things */
    293181
    294 #ifdef __MWERKS__
    295 #define ANSI_TEMPLATES
    296 #undef  HAS_VEC_NEW
    297 #define NO_STRSTREAM
    298 //#define STREAMPOS_IS_CLASS
    299 #define ITER_TAG
    300 #define HAS_IOS_BIN
    301 #define HAS_IOS_NOCREATE
    302 #define HAS_STR_NPOS
    303 #endif
    304 
    305182#ifdef __GNUC__
    306183#define GCC_VERSION (__GNUC__ * 1000 \
     
    385262#endif
    386263
    387 #ifdef NO_EXPLICIT
    388 #define explicit
    389 #endif
    390264
    391265#ifdef HAS_IOS_BIN
     
    395269#endif
    396270
    397 /* Commente par Reza+CMV - Fev 2003
    398  ifdef ANSI_IO
    399  define seekg(p_, m_) rdbuf()->pubseekoff(p_,m_)
    400  define seekp(p_, m_) rdbuf()->pubseekoff(p_,m_)
    401  endif
    402 */
    403 
    404 #ifdef __MWERKS__
    405 //#define hypot(_x_,_y_) sqrt((_x_)*(_x_) + (_y_)*(_y_))
    406 #define random() (rand()*65538.0 + rand()*2. + rand())
    407 #define srandom srand
    408 #define initstate(seed, tab, n) srand(seed)
    409 #define nice(_x)
    410 
    411 #ifdef __cplusplus
    412 #include <string.h>
    413 #include <string>
    414 inline bool operator< (string const& s1, string const& s2)
    415 { return (strcmp(s1.c_str(), s2.c_str()) < 0); }
    416 #endif
    417 #endif
    418271
    419272#ifdef OS_MACOSX
     
    422275#endif
    423276
    424 
    425 /********************************************************/
    426 /* Outil d'impressions pour debug */
    427 #define PR(_data_)  {cout<<" "<<#_data_<<" "<<_data_;}
    428 #define CR {cout<<"\n"<<flush;}
    429 /* ********************************************************/
    430 
    431 /* ---- Activation des flags de debug/bound checking  ----- */
    432 #ifdef SOPHYA_DEBUG
    433 #define SO_BOUNDCHECKING
    434 #endif
    435 
    436 /* ---- La taille et les index des tableaux ---- */
    437 #ifdef SGI_ARCH64
    438 typedef int_8 sa_size_t ;
    439 #else
    440 typedef int_4 sa_size_t ;
    441 #endif
    442 
    443 /* Compatibilite, avant de migrer tout le code en "PLANCK" */
    444277
    445278#ifdef __cplusplus
     
    453286/* Please use instead: sopnamsp.h          */
    454287/*******************************************/
    455 #define EXPLICIT explicit
    456 #endif
    457 
    458 #endif
     288#endif
     289
     290#endif
Note: See TracChangeset for help on using the changeset viewer.