1;  libFLAC - Free Lossless Audio Codec library
2;  Copyright (C) 2001,2002,2003,2004,2005,2006,2007  Josh Coalson
3;
4;  Redistribution and use in source and binary forms, with or without
5;  modification, are permitted provided that the following conditions
6;  are met:
7;
8;  - Redistributions of source code must retain the above copyright
9;  notice, this list of conditions and the following disclaimer.
10;
11;  - Redistributions in binary form must reproduce the above copyright
12;  notice, this list of conditions and the following disclaimer in the
13;  documentation and/or other materials provided with the distribution.
14;
15;  - Neither the name of the Xiph.org Foundation nor the names of its
16;  contributors may be used to endorse or promote products derived from
17;  this software without specific prior written permission.
18;
19;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20;  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22;  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
23;  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24;  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25;  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26;  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27;  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28;  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29;  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31	bits 32
32
33%ifdef OBJ_FORMAT_win32
34	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
35	%idefine code_section section .text align=16 class=CODE use32
36	%idefine data_section section .data align=32 class=DATA use32
37	%idefine bss_section  section .bss  align=32 class=DATA use32
38%elifdef OBJ_FORMAT_aout
39	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
40	%idefine code_section section .text
41	%idefine data_section section .data
42	%idefine bss_section  section .bss
43%elifdef OBJ_FORMAT_aoutb
44	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
45	%idefine code_section section .text
46	%idefine data_section section .data
47	%idefine bss_section  section .bss
48%elifdef OBJ_FORMAT_elf
49	%idefine code_section section .text align=16
50	%idefine data_section section .data align=32
51	%idefine bss_section  section .bss  align=32
52%else
53	%error unsupported object format!
54%endif
55
56%imacro cglobal 1
57	%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
58		global _%1
59	%else
60		global %1
61	%endif
62%endmacro
63
64%imacro cextern 1
65	%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
66		extern _%1
67	%else
68		extern %1
69	%endif
70%endmacro
71
72%imacro cident 1
73_%1:
74%1:
75%endmacro
76