update copyright date to include 2002
[flac.git] / src / libFLAC / ia32 / nasm.h
1 ; libFLAC - Free Lossless Audio Codec library
2 ; Copyright (C) 2001,2002  Josh Coalson
3 ;
4 ; This library is free software; you can redistribute it and/or
5 ; modify it under the terms of the GNU Library General Public
6 ; License as published by the Free Software Foundation; either
7 ; version 2 of the License, or (at your option) any later version.
8 ;
9 ; This library is distributed in the hope that it will be useful,
10 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 ; Library General Public License for more details.
13 ;
14 ; You should have received a copy of the GNU Library General Public
15 ; License along with this library; if not, write to the
16 ; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 ; Boston, MA  02111-1307, USA.
18
19         bits 32
20
21 %ifdef OBJ_FORMAT_win32
22         %define FLAC__PUBLIC_NEEDS_UNDERSCORE
23         %idefine code_section section .text align=16 class=CODE use32
24         %idefine data_section section .data align=32 class=DATA use32
25         %idefine bss_section  section .bss  align=32 class=DATA use32
26 %elifdef OBJ_FORMAT_aout
27         %define FLAC__PUBLIC_NEEDS_UNDERSCORE
28         %idefine code_section section .text
29         %idefine data_section section .data
30         %idefine bss_section  section .bss
31 %elifdef OBJ_FORMAT_aoutb
32         %define FLAC__PUBLIC_NEEDS_UNDERSCORE
33         %idefine code_section section .text
34         %idefine data_section section .data
35         %idefine bss_section  section .bss
36 %elifdef OBJ_FORMAT_elf
37         %idefine code_section section .text align=16
38         %idefine data_section section .data align=32
39         %idefine bss_section  section .bss  align=32
40 %else
41         %error unsupported object format!
42 %endif
43
44 %imacro cglobal 1
45         %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
46                 global _%1
47         %else
48                 global %1
49         %endif
50 %endmacro
51
52 %imacro cextern 1
53         %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
54                 extern _%1
55         %else
56                 extern %1
57         %endif
58 %endmacro
59
60 %imacro cident 1
61 _%1:
62 %1:
63 %endmacro