Changeset 478


Ignore:
Timestamp:
Jul 21, 2006, 9:03:13 PM (19 years ago)
Author:
bird
Message:

win and nt targets and platforms.

Location:
trunk/kBuild
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/envwin.cmd

    r477 r478  
    2424REM # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    2525REM #
    26 REM # kBuild path.
    27 
    28 REM # deal with -32 and -64 options
    29 if ".%1" = ".-32" goto want_32_bit
    30 if ".%1" = ".-64" goto want_64_bit
    31 goto doesnt_want_anything
    32 
    33 :want_32_bit
    34 shift
     26
     27
     28REM #
     29REM # Deal with the arguments.
     30REM #
     31if ".%1" = ".-win"      goto want_win_bit
     32if ".%1" = ".-win32"    goto want_win32_bit
     33if ".%1" = ".-win64"    goto want_win64_bit
     34if ".%1" = ".-nt"       goto want_nt_bit
     35if ".%1" = ".-nt32"     goto want_nt32_bit
     36if ".%1" = ".-nt64"     goto want_nt64_bit
     37goto done_arguments
     38
     39:want_win_bit
     40shift
     41set BUILD_TARGET=win
     42set BUILD_PLATFORM=win
     43goto done_arguments
     44
     45:want_win32_bit
     46shift
     47set BUILD_PLATFORM=win32
    3548set BUILD_TARGET=win32
    36 set BUILD_PLATFORM=win32
    37 set BUILD_PLATFORM_ARCH=amd64
    38 goto doesnt_want_anything
    39 
    40 :want_64_bit
     49set BUILD_TARGET_ARCH=x86
     50goto done_arguments
     51
     52:want_win64_bit
    4153shift
    4254set BUILD_TARGET=win64
    43 goto doesnt_want_anything
    44 
    45 :doesnt_want_anything
    46 
     55set BUILD_TARGET_ARCH=amd64
     56goto done_arguments
     57
     58:want_nt_bit
     59shift
     60set BUILD_PLATFORM=nt
     61set BUILD_TARGET=nt
     62goto done_arguments
     63
     64:want_nt32_bit
     65shift
     66set BUILD_PLATFORM=nt
     67set BUILD_TARGET=nt
     68set BUILD_TARGET_ARCH=x86
     69goto done_arguments
     70
     71:want_nt64_bit
     72shift
     73set BUILD_PLATFORM=nt
     74set BUILD_TARGET=nt
     75set BUILD_TARGET_ARCH=amd64
     76goto done_arguments
     77
     78:done_arguments
     79
     80REM #
    4781REM # figure the current directory.
     82REM #
    4883for /f "tokens=*" %d in ('cd') do set CURDIR=%d
    4984
     85REM #
    5086REM # find kBuild.
     87REM #
    5188if exist %PATH_KBUILD%\footer.kmk goto found_kbuild
    5289set PATH_KBUILD=%CURDIR
     
    70107set CURDIR=
    71108
     109REM #
    72110REM # Type.
     111REM #
    73112IF NOT ".%BUILD_TYPE%" = "." goto have_BUILD_TYPE
    74113set BUILD_TYPE=debug
     
    76115echo dbg: BUILD_TYPE=%BUILD_TYPE%
    77116
     117
     118REM #
    78119REM # Host platform.
     120REM #
    79121IF NOT ".%BUILD_PLATFORM%" = "." goto have_2_BUILD_PLATFORM
     122set BUILD_PLATFORM=win
     123echo dbg: BUILD_PLATFORM=%BUILD_PLATFORM%
    80124
    81125IF NOT ".%BUILD_PLATFORM_ARCH%" = "."   goto have_BUILD_PLATFORM_ARCH
     
    103147:have_BUILD_PLATFORM_CPU
    104148echo dbg: BUILD_PLATFORM_CPU=%BUILD_PLATFORM_CPU%
    105 
    106 IF "%BUILD_PLATFORM_ARCH%" = "amd64"    set BUILD_PLATFORM=win64
    107 IF "%BUILD_PLATFORM_ARCH%" = "x86"      set BUILD_PLATFORM=win32
    108 IF NOT ".%BUILD_PLATFORM%" = "."        goto have_BUILD_PLATFORM
    109 echo kBuild: Cannot figure BUILD_PLATFORM!
    110 goto failed
    111 
    112 :have_BUILD_PLATFORM
    113 echo dbg: BUILD_PLATFORM=%BUILD_PLATFORM%
    114149goto process_BUILD_TARGET
    115150
     
    120155IF "%BUILD_PLATFORM%" = "win64"         set BUILD_PLATFORM_ARCH=amd64
    121156IF NOT ".%BUILD_PLATFORM_ARCH%" = "."   goto have_2_BUILD_PLATFORM_ARCH
     157set TEST_PROCESSOR_ARCH=%PROCESSOR_ARCHITECTURE%
     158IF NOT ".%PROCESSOR_ARCHITEW6432%" = "." set TEST_PROCESSOR_ARCH=%PROCESSOR_ARCHITEW6432%
     159IF "%TEST_PROCESSOR_ARCH%" = "x86"      set BUILD_PLATFORM_ARCH=x86
     160IF "%TEST_PROCESSOR_ARCH%" = "X86"      set BUILD_PLATFORM_ARCH=x86
     161IF "%TEST_PROCESSOR_ARCH%" = "AMD64"    set BUILD_PLATFORM_ARCH=amd64
     162IF "%TEST_PROCESSOR_ARCH%" = "x64"      set BUILD_PLATFORM_ARCH=amd64
     163IF "%TEST_PROCESSOR_ARCH%" = "X64"      set BUILD_PLATFORM_ARCH=amd64
     164IF NOT ".%BUILD_PLATFORM_ARCH%" = "."   goto have_2_BUILD_PLATFORM_ARCH
     165set TEST_PROCESSOR_ARCH=
    122166echo kBuild: Cannot figure BUILD_PLATFORM_ARCH!
    123167goto failed
     
    135179
    136180
     181REM #
    137182REM # Target platform.
     183REM #
    138184:process_BUILD_TARGET
    139185IF NOT ".%BUILD_TARGET%" = "." goto have_BUILD_TARGET
     
    174220
    175221REM # The PATH.
     222IF "%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%" = "x86.nt"      set PATH=%PATH_KBUILD%\bin\x86.win32;%PATH%
     223IF "%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%" = "x86.win"     set PATH=%PATH_KBUILD%\bin\x86.win32;%PATH%
     224IF "%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%" = "amd64.nt"    set PATH=%PATH_KBUILD%\bin\amd64.nt;%PATH_KBUILD%\bin\x86.win32;%PATH%
     225IF "%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%" = "amd64.win"   set PATH=%PATH_KBUILD%\bin\amd64.win64;%PATH_KBUILD%\bin\x86.win32;%PATH%
    176226IF "%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%" = "amd64.win64" set PATH=%PATH_KBUILD%\bin\x86.win32;%PATH%
    177227set PATH=%PATH_KBUILD%\bin\%BUILD_PLATFORM_ARCH%.%BUILD_PLATFORM%;%PATH%
  • trunk/kBuild/header.kmk

    r472 r478  
    7575# @param    $1   String 1.
    7676# @param    $2   String 2
    77 STRCMP = $(
     77STRCMP = $( todo )
    7878
    7979#
     
    100100# Assert build platform.
    101101#
    102 _BUILD_PLATFORM_OK  := 0
    103 # OS/2 (have uppercase legacy)
    104 ifeq ($(BUILD_PLATFORM),OS2)
    105 override BUILD_PLATFORM := os2
    106 endif
    107 ifeq ($(BUILD_PLATFORM),os2)
    108 _BUILD_PLATFORM_OK  := 1
    109 endif
    110 
    111 # Linux
    112 ifeq ($(BUILD_PLATFORM),LINUX)
    113 $(error kBuild: BUILD_PLATFORM must be all lowercase!)
    114 endif
    115 ifeq ($(BUILD_PLATFORM),linux)
    116 _BUILD_PLATFORM_OK  := 1
    117 endif
    118 
    119 # Win32
    120 ifeq ($(BUILD_PLATFORM),WIN32)
    121 $(error kBuild: BUILD_PLATFORM must be all lowercase!)
    122 endif
    123 ifeq ($(BUILD_PLATFORM),win32)
    124 _BUILD_PLATFORM_OK  := 1
    125 endif
    126 
    127 # Win64
    128 ifeq ($(BUILD_PLATFORM),WIN64)
    129 $(error kBuild: BUILD_PLATFORM must be all lowercase!)
    130 endif
    131 ifeq ($(BUILD_PLATFORM),win64)
    132 _BUILD_PLATFORM_OK  := 1
    133 endif
    134 
    135 # L4
    136 ifeq ($(BUILD_PLATFORM),L4)
    137 $(error kBuild: BUILD_PLATFORM must be all lowercase!)
    138 endif
    139 ifeq ($(BUILD_PLATFORM),l4)
    140 _BUILD_PLATFORM_OK  := 1
    141 endif
    142 
    143 # FreeBSD
    144 ifeq ($(BUILD_PLATFORM),FreeBSD)
    145 $(error kBuild: BUILD_PLATFORM must be all lowercase!)
    146 endif
    147 ifeq ($(BUILD_PLATFORM),freebsd)
    148 _BUILD_PLATFORM_OK  := 1
    149 endif
    150 
    151 ifeq ($(_BUILD_PLATFORM_OK),0)
    152 $(error kBuild: BUILD_PLATFORM value '$(BUILD_PLATFORM)' was not recongized!)
     102ifndef BUILD_PLATFORM
     103 $(error kBuild: BUILD_PLATFORM is undefined!)
     104else
     105 BUILD_PLATFORM     := $(strip $(BUILD_PLATFORM))
     106 ifneq ($(words $(BUILD_PLATFORM))$(filter-out freebsd l4 linux nt os2 win win32 win64,$(BUILD_PLATFORM)),1)
     107  # OS/2 (have uppercase legacy)
     108  ifeq ($(BUILD_PLATFORM),OS2)
     109   $(error kBuild: BUILD_PLATFORM must be all lowercase!)
     110  endif
     111  $(error kBuild: BUILD_PLATFORM value '$(BUILD_PLATFORM)' was not recognized!)
     112 endif
    153113endif
    154114
    155115# Fill in defaults if needed.
    156116ifndef BUILD_PLATFORM_ARCH
    157 ifeq ($(filter-out win64,$(BUILD_PLATFORM)),)
    158 BUILD_PLATFORM_ARCH  := amd64
    159 else
    160 BUILD_PLATFORM_ARCH  := x86
    161 endif
     117 ifeq ($(filter-out win64,$(BUILD_PLATFORM)),)
     118  BUILD_PLATFORM_ARCH := amd64
     119 else
     120  BUILD_PLATFORM_ARCH := x86
     121 endif
    162122endif
    163123ifndef BUILD_PLATFORM_CPU
    164 ifeq ($(filter-out amd64,$(BUILD_PLATFORM_ARCH)),)
    165 BUILD_PLATFORM_CPU    := k8
    166 else
    167 BUILD_PLATFORM_CPU    := i586
    168 endif
     124 ifeq ($(filter-out amd64,$(BUILD_PLATFORM_ARCH)),)
     125  BUILD_PLATFORM_CPU:= k8
     126 else
     127  BUILD_PLATFORM_CPU:= i586
     128 endif
    169129endif
    170130
     
    177137BUILD_TARGET        := $(BUILD_PLATFORM)
    178138else
    179 _BUILD_TARGET_OK    := 0
    180 # OS/2
    181 ifeq ($(BUILD_TARGET),OS2)
    182 $(error kBuild: BUILD_TARGET must be all lowercase!)
    183 endif
    184 ifeq ($(BUILD_TARGET),os2)
    185 _BUILD_TARGET_OK    := 1
    186 endif
    187 
    188 # Linux
    189 ifeq ($(BUILD_TARGET),LINUX)
    190 $(error kBuild: BUILD_TARGET must be all lowercase!)
    191 endif
    192 ifeq ($(BUILD_TARGET),linux)
    193 _BUILD_TARGET_OK    := 1
    194 endif
    195 
    196 # Win32
    197 ifeq ($(BUILD_TARGET),WIN32)
    198 $(error kBuild: BUILD_TARGET must be all lowercase!)
    199 endif
    200 ifeq ($(BUILD_TARGET),win32)
    201 _BUILD_TARGET_OK    := 1
    202 endif
    203 
    204 # Win64
    205 ifeq ($(BUILD_TARGET),WIN64)
    206 $(error kBuild: BUILD_TARGET must be all lowercase!)
    207 endif
    208 ifeq ($(BUILD_TARGET),win64)
    209 _BUILD_TARGET_OK    := 1
    210 endif
    211 
    212 # L4
    213 ifeq ($(BUILD_TARGET),L4)
    214 $(error kBuild: BUILD_TARGET must be all lowercase!)
    215 endif
    216 ifeq ($(BUILD_TARGET),l4)
    217 _BUILD_TARGET_OK    := 1
    218 endif
    219 
    220 # FreeBSD
    221 ifeq ($(BUILD_TARGET),FreeBSD)
    222 $(error kBuild: BUILD_TARGET must be all lowercase!)
    223 endif
    224 ifeq ($(BUILD_TARGET),freebsd)
    225 _BUILD_TARGET_OK    := 1
    226 endif
    227 
    228 ifeq ($(_BUILD_TARGET_OK),0)
    229 $(error kBuild: BUILD_TARGET value '$(BUILD_TARGET)' was not recongized!)
    230 endif
     139 BUILD_TARGET       := $(strip $(BUILD_TARGET))
     140 ifneq ($(words $(BUILD_TARGET))$(filter-out freebsd l4 linux nt os2 win win32 win64,$(BUILD_TARGET)),1)
     141  # OS/2 (have uppercase legacy)
     142  ifeq ($(BUILD_TARGET),OS2)
     143   $(error kBuild: BUILD_TARGET must be all lowercase!)
     144  endif
     145  $(error kBuild: BUILD_TARGET value '$(BUILD_TARGET)' was not recognized!)
     146 endif
    231147endif
    232148
    233149# Fill in defaults if needed.
    234150ifndef BUILD_TARGET_ARCH
    235 BUILD_TARGET_ARCH   := x86
     151 BUILD_TARGET_ARCH  := x86
    236152endif
    237153ifndef BUILD_TARGET_CPU
    238 BUILD_TARGET_CPU    := i586
     154 BUILD_TARGET_CPU   := i586
    239155endif
    240156
     
    326242# Build platform setup.
    327243#
    328 PATH_TOOLS          := $(PATH_KBUILD)/bin/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
    329 
    330244# OS/2
    331245ifeq ($(BUILD_PLATFORM),os2)
     
    350264EXEC_X86_WIN32      := wine
    351265HOSTSUFF_EXE        :=
     266endif
     267
     268PATH_TOOLS          := $(PATH_KBUILD)/bin/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
     269ifeq ($(wildcard $(PATH_TOOLS)/kmk_ash$(HOSTSUFF_EXE)),)
     270 ifeq ($(BUILD_TARGET_ARCH),amd64)
     271  PATH_TOOLS        := $(PATH_KBUILD)/bin/x86.$(BUILD_PLATFORM)
     272 endif
     273 ifeq ($(wildcard $(PATH_TOOLS)/kmk_ash$(HOSTSUFF_EXE)),)
     274  ifeq ($(filter-out win64 nt,$(BUILD_PLATFORM)),)
     275   PATH_TOOLS       := $(PATH_KBUILD)/bin/x86.win32
     276  endif
     277 endif
     278 ifeq ($(wildcard $(PATH_TOOLS)/kmk_ash$(HOSTSUFF_EXE)),)
     279  # give up
     280  PATH_TOOLS        := $(PATH_KBUILD)/bin/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
     281 endif
    352282endif
    353283
Note: See TracChangeset for help on using the changeset viewer.