Add missing fseeko check
[flac.git] / build / config.mk
blobc46a15628888cc4cb2aab78f2b97e9fa909bb768
1 # FLAC - Free Lossless Audio Codec
2 # Copyright (C) 2001-2009 Josh Coalson
3 # Copyright (C) 2011-2016 Xiph.Org Foundation
5 # This file is part the FLAC project. FLAC is comprised of several
6 # components distributed under different licenses. The codec libraries
7 # are distributed under Xiph.Org's BSD-like license (see the file
8 # COPYING.Xiph in this distribution). All other programs, libraries, and
9 # plugins are distributed under the GPL (see COPYING.GPL). The documentation
10 # is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
11 # FLAC distribution contains at the top the terms under which it may be
12 # distributed.
14 # Since this particular file is relevant to all components of FLAC,
15 # it may be distributed under the Xiph.Org license, which is the least
16 # restrictive of those mentioned above. See the file COPYING.Xiph in this
17 # distribution.
20 # customizable settings from the make invocation
23 USE_OGG ?= 1
24 USE_ICONV ?= 1
25 USE_LROUND ?= 1
26 USE_FSEEKO ?= 1
27 USE_LANGINFO_CODESET ?= 1
30 # debug/release selection
33 DEFAULT_BUILD = release
35 F_PIC := -fPIC
37 # returns Linux, Darwin, FreeBSD, etc.
38 ifndef OS
39 OS := $(shell uname -s)
40 endif
41 # returns i386, x86_64, powerpc, etc.
42 ifndef PROC
43 ifeq ($(findstring Windows,$(OS)),Windows)
44 PROC := i386 # failsafe
45 # ifeq ($(findstring i686,$(shell gcc -dumpmachine)),i686) # MinGW-w64: i686-w64-mingw32
46 ifeq ($(findstring x86_64,$(shell gcc -dumpmachine)),x86_64) # MinGW-w64: x86_64-w64-mingw32
47 PROC := x86_64
48 endif
49 else
50 ifeq ($(shell uname -p),amd64)
51 PROC := x86_64
52 else
53 PROC := $(shell uname -p)
54 endif
55 endif
56 endif
57 ifeq ($(PROC),powerpc)
58 PROC := ppc
59 endif
60 # x64_64 Mac OS outputs 'i386' in uname -p; use uname -m instead
61 ifeq ($(PROC),i386)
62 ifeq ($(OS),Darwin)
63 PROC := $(shell uname -m)
64 endif
65 endif
67 ifeq ($(OS),Linux)
68 PROC := $(shell uname -m)
69 USE_ICONV := 0
70 endif
72 ifeq ($(findstring Windows,$(OS)),Windows)
73 F_PIC :=
74 USE_ICONV := 0
75 USE_LANGINFO_CODESET := 0
76 ifeq (mingw32,$(shell gcc -dumpmachine)) # MinGW (mainline): mingw32
77 USE_FSEEKO := 0
78 endif
79 endif
81 debug : BUILD = debug
82 valgrind : BUILD = debug
83 release : BUILD = release
85 # override LINKAGE on OS X until we figure out how to get 'cc -static' to work
86 ifeq ($(OS),Darwin)
87 LINKAGE = -arch $(PROC)
88 else
89 debug : LINKAGE = -static
90 valgrind : LINKAGE = -dynamic
91 release : LINKAGE = -static
92 endif
94 all default: $(DEFAULT_BUILD)
97 # GNU makefile fragment for emulating stuff normally done by configure
100 VERSION=\"1.3.2\"
102 CONFIG_CFLAGS=$(CUSTOM_CFLAGS) -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_CXX_VARARRAYS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
104 ifeq ($(OS),Darwin)
105 CONFIG_CFLAGS += -DFLAC__SYS_DARWIN -DHAVE_SYS_PARAM_H -arch $(PROC)
106 else
107 CONFIG_CFLAGS += -DHAVE_SOCKLEN_T
108 endif
110 ifeq ($(PROC),ppc)
111 CONFIG_CFLAGS += -DWORDS_BIGENDIAN=1 -DCPU_IS_LITTLE_ENDIAN=0
112 else
113 CONFIG_CFLAGS += -DWORDS_BIGENDIAN=0 -DCPU_IS_LITTLE_ENDIAN=1
114 endif
116 ifeq ($(OS),Linux)
117 ifeq ($(PROC),x86_64)
118 CONFIG_CFLAGS += -fPIC
119 endif
120 endif
121 ifeq ($(OS),FreeBSD)
122 CONFIG_CFLAGS += -DHAVE_SYS_PARAM_H
123 endif
125 ifneq (0,$(USE_ICONV))
126 CONFIG_CFLAGS += -DHAVE_ICONV
127 ICONV_LIBS = -liconv
128 else
129 ICONV_LIBS =
130 endif
132 ifneq (0,$(USE_OGG))
133 CONFIG_CFLAGS += -DFLAC__HAS_OGG=1
134 OGG_INCLUDES = -I$(OGG_INCLUDE_DIR)
135 OGG_EXPLICIT_LIBS = $(OGG_LIB_DIR)/libogg.a
136 OGG_LIBS = -L$(OGG_LIB_DIR) -logg
137 OGG_SRCS = $(OGG_SRCS_C)
138 else
139 CONFIG_CFLAGS += -DFLAC__HAS_OGG=0
140 OGG_INCLUDES =
141 OGG_EXPLICIT_LIBS =
142 OGG_LIBS =
143 OGG_SRCS =
144 endif
146 OGG_INCLUDE_DIR=$(HOME)/local/include
147 OGG_LIB_DIR=$(HOME)/local/lib
149 ifneq (0,$(USE_LROUND))
150 CONFIG_CFLAGS += -DHAVE_LROUND
151 endif
153 ifneq (0,$(USE_FSEEKO))
154 CONFIG_CFLAGS += -DHAVE_FSEEKO
155 endif
157 ifneq (0,$(USE_LANGINFO_CODESET))
158 CONFIG_CFLAGS += -DHAVE_LANGINFO_CODESET
159 endif