tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

detect.mk (3660B)


      1 #
      2 # FreeType 2 configuration file to detect a DOS host platform.
      3 #
      4 
      5 
      6 # Copyright (C) 1996-2025 by
      7 # David Turner, Robert Wilhelm, and Werner Lemberg.
      8 #
      9 # This file is part of the FreeType project, and may only be used, modified,
     10 # and distributed under the terms of the FreeType project license,
     11 # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
     12 # indicate that you have read the license and understand and accept it
     13 # fully.
     14 
     15 
     16 .PHONY: setup
     17 
     18 
     19 ifeq ($(PLATFORM),ansi)
     20 
     21  # Test for DJGPP by checking the DJGPP environment variable, which must be
     22  # set in order to use the system (ie. it will always be present when the
     23  # `make' utility is run).
     24  #
     25  # We test for the COMSPEC environment variable, then run the `ver'
     26  # command-line program to see if its output contains the word `Dos' or
     27  # `DOS'.
     28  #
     29  # If this is true, we are running a Dos-ish platform (or an emulation).
     30  #
     31  ifdef DJGPP
     32    PLATFORM := dos
     33  else
     34    ifdef COMSPEC
     35      is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver)))
     36 
     37      # We try to recognize a Dos session under OS/2.  The `ver' command
     38      # returns `Operating System/2 ...' there, so `is_dos' should be empty.
     39      #
     40      # To recognize a Dos session under OS/2, we check COMSPEC for the
     41      # substring `MDOS\COMMAND'
     42      #
     43      ifeq ($(is_dos),)
     44        is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
     45      endif
     46 
     47      # We also try to recognize Dos 7.x without Windows 9X launched.
     48      # See builds/windows/detect.mk for explanations about the logic.
     49      #
     50      ifeq ($(is_dos),)
     51        ifdef winbootdir
     52 #ifneq ($(OS),Windows_NT)
     53          # If windows is available, do not trigger this test.
     54          ifndef windir
     55            is_dos := $(findstring Windows,$(strip $(shell ver)))
     56          endif
     57 #endif
     58        endif
     59      endif
     60 
     61    endif # test COMSPEC
     62 
     63    ifneq ($(is_dos),)
     64 
     65      PLATFORM := dos
     66 
     67    endif # test Dos
     68  endif # test DJGPP
     69 endif # test PLATFORM ansi
     70 
     71 ifeq ($(PLATFORM),dos)
     72 
     73  # Use DJGPP (i.e. gcc) by default.
     74  #
     75  CONFIG_FILE := dos-gcc.mk
     76  CC          ?= gcc
     77 
     78  # additionally, we provide hooks for various other compilers
     79  #
     80  ifneq ($(findstring emx,$(MAKECMDGOALS)),)        # EMX gcc
     81    CONFIG_FILE := dos-emx.mk
     82    CC          := gcc
     83 
     84    .PHONY: emx
     85    emx: setup
     86     @cd .
     87  endif
     88 
     89  ifneq ($(findstring turboc,$(MAKECMDGOALS)),)     # Turbo C
     90    CONFIG_FILE := dos-tcc.mk
     91    CC          := tcc
     92 
     93    .PHONY: turboc
     94    turboc: setup
     95     @cd .
     96  endif
     97 
     98  ifneq ($(findstring watcom,$(MAKECMDGOALS)),)     # Watcom C/C++
     99    CONFIG_FILE := dos-wat.mk
    100    CC          := wcc386
    101 
    102    .PHONY: watcom
    103    watcom: setup
    104     @cd .
    105  endif
    106 
    107  ifneq ($(findstring borlandc,$(MAKECMDGOALS)),)   # Borland C/C++ 32-bit
    108    CONFIG_FILE := dos-bcc.mk
    109    CC          := bcc32
    110 
    111    .PHONY: borlandc
    112    borlandc: setup
    113     @cd .
    114  endif
    115 
    116  ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
    117    CONFIG_FILE := dos-bcc.mk
    118    CC          := bcc
    119 
    120    .PHONY: borlandc16
    121    borlandc16: setup
    122     @cd .
    123  endif
    124 
    125  ifneq ($(findstring bash,$(SHELL)),)              # check for bash
    126    SEP    := /
    127    DELETE := rm
    128    COPY   := cp
    129    CAT    := cat
    130    setup: std_setup
    131  else
    132    SEP    := $(BACKSLASH)
    133    DELETE := del
    134    CAT    := type
    135 
    136    # Setting COPY is a bit trickier.  We can be running DJGPP on some
    137    # Windows NT derivatives, like XP.  See builds/windows/detect.mk for
    138    # explanations why we need hacking here.
    139    #
    140    ifeq ($(OS),Windows_NT)
    141      COPY := cmd.exe /c copy
    142    else
    143      COPY := copy
    144    endif  # test NT
    145 
    146    setup: std_setup
    147  endif
    148 
    149 endif     # test PLATFORM dos
    150 
    151 
    152 # EOF