aboutsummaryrefslogtreecommitdiffstats
path: root/nt
diff options
context:
space:
mode:
authorGrégoire Jadi2013-06-12 17:06:09 +0200
committerGrégoire Jadi2013-06-12 17:06:09 +0200
commit32a590b04a10f6bbe92bc1519b9e5ba2d32cfabc (patch)
tree578be4eb2757a0716f252a269adc49fa9406556d /nt
parent5c77269b59c8d8d88fa91ec2c949294db1bb2131 (diff)
parente6fa6da6899bf1b4877b96c450eae3934085d560 (diff)
downloademacs-32a590b04a10f6bbe92bc1519b9e5ba2d32cfabc.tar.gz
emacs-32a590b04a10f6bbe92bc1519b9e5ba2d32cfabc.zip
Merge branch 'jave-xwidget' into xwidget
Diffstat (limited to 'nt')
-rw-r--r--nt/ChangeLog46
-rw-r--r--nt/INSTALL.MSYS82
-rw-r--r--nt/Makefile.in4
-rw-r--r--nt/config.nt9
-rw-r--r--nt/epaths.nt6
-rw-r--r--nt/inc/sys/time.h14
6 files changed, 116 insertions, 45 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 696d320c8bc..baa7003f5ae 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,41 @@
12013-06-07 Eli Zaretskii <eliz@gnu.org>
2
3 * INSTALL.MSYS: mingw-get is not a GUI program (yet).
4 msys-automake is not suitable for MinGW builds. Mention the
5 --enable-locallisppath switch to msysconfig.sh. Suggested by
6 Óscar Fuentes <ofv@wanadoo.es>.
7
82013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
9
10 * epaths.nt (PATH_SITELOADSEARCH): Fix commentary.
11
122013-06-03 Eli Zaretskii <eliz@gnu.org>
13
14 * config.nt: Add HAVE_GFILENOTIFY, HAVE_W32NOTIFY and USE_FILE_NOTIFY.
15
162013-06-03 Eli Zaretskii <eliz@gnu.org>
17
18 * inc/sys/time.h (struct timeval): Remove the _W64 guards.
19
202013-06-01 Eli Zaretskii <eliz@gnu.org>
21
22 * inc/sys/time.h [!_TIMEZONE_DEFINED]: Define _TIMEZONE_DEFINED to
23 avoid multiple definition errors on MinGW64.
24
252013-05-31 Eli Zaretskii <eliz@gnu.org>
26
27 * inc/sys/time.h (gettimeofday): Use '__restrict' instead of
28 'restrict', which is a C99 extension. See
29 http://lists.gnu.org/archive/html/emacs-devel/2013-05/msg00588.html
30 and the following discussion for the problem this caused in the
31 old nt/configure.bat build.
32
332013-05-29 Eli Zaretskii <eliz@gnu.org>
34
35 * Makefile.in (emacs.res): Include srcdir when preprocessing
36 resources, for out-of-tree builds.
37 (mostlyclean): Remove *.res files.
38
12013-05-17 Eli Zaretskii <eliz@gnu.org> 392013-05-17 Eli Zaretskii <eliz@gnu.org>
2 40
3 * runemacs.c (WinMain): Support invocation of un-installed 41 * runemacs.c (WinMain): Support invocation of un-installed
@@ -70,7 +108,7 @@
70 108
712013-05-07 Paul Eggert <eggert@cs.ucla.edu> 1092013-05-07 Paul Eggert <eggert@cs.ucla.edu>
72 110
73 Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295) 111 Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
74 * config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL. 112 * config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
75 * inc/ms-w32.h (EOPNOTSUPP): New macro. 113 * inc/ms-w32.h (EOPNOTSUPP): New macro.
76 114
@@ -598,7 +636,7 @@
598 636
5992012-09-01 Daniel Colascione <dancol@dancol.org> 6372012-09-01 Daniel Colascione <dancol@dancol.org>
600 638
601 * inc/ms-w32.h (TERM_HEADER): Add for refactoring 639 * inc/ms-w32.h (TERM_HEADER): Add for refactoring.
602 640
6032012-08-22 Juanma Barranquero <lekktu@gmail.com> 6412012-08-22 Juanma Barranquero <lekktu@gmail.com>
604 642
@@ -896,8 +934,8 @@
896 (install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'. 934 (install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'.
897 (install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe 935 (install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe
898 here. 936 here.
899 (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend 937 (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist):
900 on create-tmp-dist-dir. 938 Depend on create-tmp-dist-dir.
901 939
902 * nmake.defs (DIRNAME): New variable. 940 * nmake.defs (DIRNAME): New variable.
903 (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of 941 (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
diff --git a/nt/INSTALL.MSYS b/nt/INSTALL.MSYS
index e5b121ae868..420b8be75f8 100644
--- a/nt/INSTALL.MSYS
+++ b/nt/INSTALL.MSYS
@@ -52,7 +52,7 @@ Windows 9X as well).
52 You can pass other options to the configure script. Here's a 52 You can pass other options to the configure script. Here's a
53 typical example (for an in-place debug build): 53 typical example (for an in-place debug build):
54 54
55 CPPFLAGS='-DGLYPH_DEBUG=1' CFLAGS='-O0 -g3' ./nt/msysconfig.sh --prefix=d:/usr/emacs --enable-checking 55 CPPFLAGS='-DGLYPH_DEBUG=1' CFLAGS='-O0 -g3' ./nt/msysconfig.sh --prefix=/d/usr/emacs --enable-checking
56 56
57 3. After the configure script finishes, it should display the 57 3. After the configure script finishes, it should display the
58 resulting configuration. After that, type 58 resulting configuration. After that, type
@@ -92,9 +92,9 @@ Windows 9X as well).
92 92
93** Installing MinGW and MSYS using mingw-get 93** Installing MinGW and MSYS using mingw-get
94 94
95 A nice GUI installer, called mingw-get, is available for those who 95 A nice installer, called mingw-get, is available for those who don't
96 don't like to mess with manual installations. You can download it 96 like to mess with manual installations. You can download it from
97 from here: 97 here:
98 98
99 https://sourceforge.net/projects/mingw/files/Installer/mingw-get/ 99 https://sourceforge.net/projects/mingw/files/Installer/mingw-get/
100 100
@@ -110,7 +110,6 @@ Windows 9X as well).
110 110
111 . msys-base 111 . msys-base
112 . mingw-developer-toolkit 112 . mingw-developer-toolkit
113 . msys-automake
114 113
115 (We recommend that you refrain from installing the MSYS Texinfo 114 (We recommend that you refrain from installing the MSYS Texinfo
116 package, which is part of msys-base, because it might produce mixed 115 package, which is part of msys-base, because it might produce mixed
@@ -188,11 +187,11 @@ Windows 9X as well).
188 187
189 Each package might list other packages as prerequisites on its 188 Each package might list other packages as prerequisites on its
190 download page (under "Runtime requirements"); download those as 189 download page (under "Runtime requirements"); download those as
191 well. (Using the GUI installer mingw-get will fetch those 190 well. (Using the mingw-get installer will fetch those prerequisites
192 prerequisites automatically for you.) A missing prerequisite will 191 automatically for you.) A missing prerequisite will manifest itself
193 manifest itself by the program failing to run and presenting a 192 by the program failing to run and presenting a pop-up dialog that
194 pop-up dialog that states the missing or incompatible DLL; be sure 193 states the missing or incompatible DLL; be sure to find and install
195 to find and install these missing DLLs. 194 these missing DLLs.
196 195
197 Once you think you have MinGW installed, test the installation by 196 Once you think you have MinGW installed, test the installation by
198 building a trivial "hello, world!" program, and make sure that it 197 building a trivial "hello, world!" program, and make sure that it
@@ -228,8 +227,8 @@ Windows 9X as well).
228 repository): Automake and Autoconf. They are available from 227 repository): Automake and Autoconf. They are available from
229 here: 228 here:
230 229
231 http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download 230 http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download
232 http://sourceforge.net/projects/ezwinports/files/autoconf-2.65-msys-bin.zip/download 231 http://sourceforge.net/projects/ezwinports/files/autoconf-2.65-msys-bin.zip/download
233 232
234 MSYS packages are distributed as .tar.lzma compressed archives. To 233 MSYS packages are distributed as .tar.lzma compressed archives. To
235 install the packages manually, we recommend to use the Windows port 234 install the packages manually, we recommend to use the Windows port
@@ -244,7 +243,11 @@ Windows 9X as well).
244 These are snapshot builds of many packages, but you only need 243 These are snapshot builds of many packages, but you only need
245 make.exe from there. The advantage of this make.exe is that it 244 make.exe from there. The advantage of this make.exe is that it
246 supports parallel builds, so you can use "make -j N" to considerably 245 supports parallel builds, so you can use "make -j N" to considerably
247 speed up your builds 246 speed up your builds.
247
248 Several users reported that MSYS 1.0.18 causes Make to hang in
249 parallel builds. If you bump into this, we suggest to downgrade to
250 MSYS 1.0.17, which doesn't have that problem.
248 251
249 For each of these packages, install the 'bin' and 'dll' tarballs of 252 For each of these packages, install the 'bin' and 'dll' tarballs of
250 their latest stable releases. If there's an 'ext' tarball (e.g., 253 their latest stable releases. If there's an 'ext' tarball (e.g.,
@@ -252,11 +255,11 @@ Windows 9X as well).
252 255
253 Each package might list other packages as prerequisites on its 256 Each package might list other packages as prerequisites on its
254 download page (under "Runtime requirements"); download those as 257 download page (under "Runtime requirements"); download those as
255 well. (Using the GUI installer mingw-get will fetch those 258 well. (Using the mingw-get installer will fetch those prerequisites
256 prerequisites automatically for you.) A missing prerequisite will 259 automatically for you.) A missing prerequisite will manifest itself
257 manifest itself by the program failing to run and presenting a 260 by the program failing to run and presenting a pop-up dialog that
258 pop-up dialog that states the missing or incompatible DLL; be sure 261 states the missing or incompatible DLL; be sure to find and install
259 to find and install these missing DLLs. 262 these missing DLLs.
260 263
261 MSYS packages should be installed in a separate tree from MinGW. 264 MSYS packages should be installed in a separate tree from MinGW.
262 For example, use D:\MSYS or D:\usr\MSYS as the top-level directory 265 For example, use D:\MSYS or D:\usr\MSYS as the top-level directory
@@ -325,18 +328,25 @@ Windows 9X as well).
325 ./nt/msysconfig.sh --prefix=PREFIX ... 328 ./nt/msysconfig.sh --prefix=PREFIX ...
326 329
327 Here PREFIX is the place where you eventually want to install Emacs 330 Here PREFIX is the place where you eventually want to install Emacs
328 once built, e.g. d:/usr. We recommend to always use --prefix when 331 once built, e.g. /d/usr. We recommend to always use --prefix when
329 building Emacs on Windows, because the default '/usr/local' is not 332 building Emacs on Windows, because the default '/usr/local' is not
330 appropriate for Windows: it will be mapped by MSYS to something like 333 appropriate for Windows: it will be mapped by MSYS to something like
331 C:\MSYS\local, and it will defeat the purpose of PREFIX, which is to 334 C:\MSYS\local, and it will defeat the purpose of PREFIX, which is to
332 install programs in a single coherent tree resembling Posix systems. 335 install programs in a single coherent tree resembling Posix systems.
333 Such a single-tree installation makes sure all the other programs 336 Such a single-tree installation makes sure all the other programs
334 and packages ported from GNU or Unix systems will work seemlessly 337 and packages ported from GNU or Unix systems will work seamlessly
335 together. Where exactly is the root of that tree on your system is 338 together. Where exactly is the root of that tree on your system is
336 something only you, the user who builds Emacs, can know, and the 339 something only you, the user who builds Emacs, can know, and the
337 Emacs build process cannot guess, because usually there's no 340 Emacs build process cannot guess, because usually there's no
338 '/usr/local' directory on any drive on Windows systems. 341 '/usr/local' directory on any drive on Windows systems.
339 342
343 Do NOT use Windows-style x:/foo/bar file names on the configure
344 script command line; use the MSYS-style /x/foo/bar instead. Using
345 Windows-style file names was reported to cause subtle and hard to
346 figure out problems during the build. This applies both to the
347 command switches, such as --prefix=, and to the absolute file name
348 of msysconfig.sh, if you are building outside of the source tree.
349
340 You can pass additional options to the configure script, for the 350 You can pass additional options to the configure script, for the
341 full list type 351 full list type
342 352
@@ -353,12 +363,21 @@ Windows 9X as well).
353 headers in C:\emacs\libs\jpeg-6b-4-lib\include, you will need to say 363 headers in C:\emacs\libs\jpeg-6b-4-lib\include, you will need to say
354 something like this: 364 something like this:
355 365
356 CPPFLAGS='-Ic:/emacs/libs/libpng-1.2.37-lib/include -Ic:/emacs/libs/jpeg-6b-4-lib/include' ./nt/msysconfig.sh --prefix=PREFIX 366 CPPFLAGS='-I/c/emacs/libs/libpng-1.2.37-lib/include -I/c/emacs/libs/jpeg-6b-4-lib/include' ./nt/msysconfig.sh --prefix=PREFIX
357 367
358 which is quite a mouth-full, especially if you have more directories 368 which is quite a mouth-full, especially if you have more directories
359 to specify... Perhaps you may wish to revisit your installation 369 to specify... Perhaps you may wish to revisit your installation
360 decisions now. 370 decisions now.
361 371
372 If you have a global site-lisp directory from previous Emacs
373 installation, and you want Emacs to continue using it, specify it
374 via the --enable-locallisppath switch to msysconfig.sh, like this:
375
376 ./nt/msysconfig.sh --prefix=PREFIX --enable-locallisppath="/d/usr/share/emacs/VERSION/site-lisp:/d/wherever/site-lisp"
377
378 Use the normal MSYS /d/foo/bar style to specify directories by their
379 absolute file names.
380
362 A few frequently used options are needed when you want to produce an 381 A few frequently used options are needed when you want to produce an
363 unoptimized binary with runtime checks enabled: 382 unoptimized binary with runtime checks enabled:
364 383
@@ -418,10 +437,11 @@ Windows 9X as well).
418 437
419 This is simple: just type "make" and sit back, watching the fun. 438 This is simple: just type "make" and sit back, watching the fun.
420 439
421 If you installed a snapshot build of Make, the build will be much 440 If you installed a snapshot build of Make, the build will be much
422 faster if you type "make -j N" instead, where N is the number of 441 faster if you type "make -j N" instead, where N is the number of
423 independent processing units on your machine. E.g., on a core i7 442 independent processing units on your machine. E.g., on a core i7
424 system try using N of 6 or even 8. 443 system try using N of 6 or even 8. (If this hangs, see the notes
444 above about downgrading to MSYS 1.0.17.)
425 445
426 When Make finishes, you can install the produced binaries: 446 When Make finishes, you can install the produced binaries:
427 447
@@ -520,12 +540,12 @@ Windows 9X as well).
520 compatible (for example, that they were built with the same compiler). 540 compatible (for example, that they were built with the same compiler).
521 541
522 Binaries for the image libraries (among many others) can be found at 542 Binaries for the image libraries (among many others) can be found at
523 the GnuWin32 project. PNG, JPEG and TIFF libraries are also 543 the GnuWin32 project. The PNG libraries are also included with GTK,
524 included with GTK, which is installed along with other Free Software 544 which is installed along with other Free Software that requires it.
525 that requires it. Note specifically that, due to some packaging 545 Note specifically that, due to some packaging snafus in the
526 snafus in the GnuWin32-supplied image libraries, you will need to 546 GnuWin32-supplied image libraries, you will need to download
527 download _source_ packages for some of the libraries in order to get 547 _source_ packages for some of the libraries in order to get the
528 the header files necessary for building Emacs with image support. 548 header files necessary for building Emacs with image support.
529 549
530 For PNG images, we recommend to use versions 1.4.x and later of 550 For PNG images, we recommend to use versions 1.4.x and later of
531 libpng, because previous versions had security issues. You can find 551 libpng, because previous versions had security issues. You can find
diff --git a/nt/Makefile.in b/nt/Makefile.in
index 3d5e1ca084c..7f68a1b83ad 100644
--- a/nt/Makefile.in
+++ b/nt/Makefile.in
@@ -168,7 +168,7 @@ uninstall:
168 fi 168 fi
169 169
170mostlyclean: 170mostlyclean:
171 -rm -f core *.o 171 -rm -f core *.o *.res
172 172
173clean: mostlyclean 173clean: mostlyclean
174 -rm -f ${EXE_FILES} 174 -rm -f ${EXE_FILES}
@@ -209,4 +209,4 @@ runemacs${EXEEXT}: ${srcdir}/runemacs.c $(EMACSRES)
209 -o runemacs${EXEEXT} 209 -o runemacs${EXEEXT}
210 210
211emacs.res: ${srcdir}/emacs.rc ${srcdir}/icons/emacs.ico ${srcdir}/$(EMACS_MANIFEST) 211emacs.res: ${srcdir}/emacs.rc ${srcdir}/icons/emacs.ico ${srcdir}/$(EMACS_MANIFEST)
212 ${WINDRES} -O coff -o emacs.res ${srcdir}/emacs.rc 212 ${WINDRES} -I ${srcdir} -O coff -o emacs.res ${srcdir}/emacs.rc
diff --git a/nt/config.nt b/nt/config.nt
index 4380f2b86c5..95b56f2dc64 100644
--- a/nt/config.nt
+++ b/nt/config.nt
@@ -547,6 +547,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
547/* Define to 1 if you have the `gettimeofday' function. */ 547/* Define to 1 if you have the `gettimeofday' function. */
548#define HAVE_GETTIMEOFDAY 1 548#define HAVE_GETTIMEOFDAY 1
549 549
550/* Define to 1 if using GFile. */
551#undef HAVE_GFILENOTIFY
552
550/* Define to 1 if you have the `get_current_dir_name' function. */ 553/* Define to 1 if you have the `get_current_dir_name' function. */
551#undef HAVE_GET_CURRENT_DIR_NAME 554#undef HAVE_GET_CURRENT_DIR_NAME
552 555
@@ -1141,6 +1144,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1141/* Define to 1 if you have the <vfork.h> header file. */ 1144/* Define to 1 if you have the <vfork.h> header file. */
1142#undef HAVE_VFORK_H 1145#undef HAVE_VFORK_H
1143 1146
1147/* Define to 1 to use w32notify. */
1148#define HAVE_W32NOTIFY 1
1149
1144/* Define to 1 if you have the <wchar.h> header file. */ 1150/* Define to 1 if you have the <wchar.h> header file. */
1145#undef HAVE_WCHAR_H 1151#undef HAVE_WCHAR_H
1146 1152
@@ -1497,6 +1503,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1497/* Define to nonzero if you want access control list support. */ 1503/* Define to nonzero if you want access control list support. */
1498#undef USE_ACL 1504#undef USE_ACL
1499 1505
1506/* Define to 1 if using file notifications. */
1507#define USE_FILE_NOTIFY 1
1508
1500/* Define to 1 if using GTK. */ 1509/* Define to 1 if using GTK. */
1501#undef USE_GTK 1510#undef USE_GTK
1502 1511
diff --git a/nt/epaths.nt b/nt/epaths.nt
index 1e418550d52..6e297476528 100644
--- a/nt/epaths.nt
+++ b/nt/epaths.nt
@@ -41,10 +41,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41#define PATH_LOADSEARCH "%emacs_dir%/share/emacs/@VER@/lisp;%emacs_dir%/share/emacs/@VER@/leim" 41#define PATH_LOADSEARCH "%emacs_dir%/share/emacs/@VER@/lisp;%emacs_dir%/share/emacs/@VER@/leim"
42 42
43/* Like PATH_LOADSEARCH, but contains the non-standard pieces. 43/* Like PATH_LOADSEARCH, but contains the non-standard pieces.
44 These are the site-lisp directories, typically something like 44 These are the site-lisp directories. Configure sets this to
45 ${locallisppath}, which typically defaults to something like:
45 <datadir>/emacs/VERSION/site-lisp:<datadir>/emacs/site-lisp 46 <datadir>/emacs/VERSION/site-lisp:<datadir>/emacs/site-lisp
46 Configure prepends any $locallisppath, as set by the 47 but can be overridden by the --enable-locallisppath argument.
47 --enable-locallisppath argument.
48 This is combined with PATH_LOADSEARCH to make the default load-path. 48 This is combined with PATH_LOADSEARCH to make the default load-path.
49 If the --no-site-lisp option is used, this piece is excluded. 49 If the --no-site-lisp option is used, this piece is excluded.
50*/ 50*/
diff --git a/nt/inc/sys/time.h b/nt/inc/sys/time.h
index 87ad9d3ff0d..f8fb022d221 100644
--- a/nt/inc/sys/time.h
+++ b/nt/inc/sys/time.h
@@ -8,7 +8,6 @@
8 8
9/* The guards are for MinGW64, which defines these structs on its 9/* The guards are for MinGW64, which defines these structs on its
10 system headers which are included by ms-w32.h. */ 10 system headers which are included by ms-w32.h. */
11#ifndef _W64
12/* Allow inclusion of sys/time.h and winsock2.h in any order. Needed 11/* Allow inclusion of sys/time.h and winsock2.h in any order. Needed
13 for running the configure test, which is only relevant to MinGW. */ 12 for running the configure test, which is only relevant to MinGW. */
14#ifndef _TIMEVAL_DEFINED 13#ifndef _TIMEVAL_DEFINED
@@ -25,9 +24,9 @@ struct timeval
25 ((tvp)->tv_usec cmp (uvp)->tv_usec)) 24 ((tvp)->tv_usec cmp (uvp)->tv_usec))
26#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 25#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
27#endif /* _TIMEVAL_DEFINED */ 26#endif /* _TIMEVAL_DEFINED */
28#endif /* _W64 */
29 27
30#ifndef _TIMEZONE_DEFINED 28#ifndef _TIMEZONE_DEFINED
29#define _TIMEZONE_DEFINED
31struct timezone 30struct timezone
32{ 31{
33 int tz_minuteswest; /* minutes west of Greenwich */ 32 int tz_minuteswest; /* minutes west of Greenwich */
@@ -35,10 +34,15 @@ struct timezone
35}; 34};
36#endif 35#endif
37 36
37
38/* This needs to be compatible with Posix signature, in order to pass 38/* This needs to be compatible with Posix signature, in order to pass
39 the configure test for the type of the second argument. See 39 the configure test for the type of the second argument; see
40 m4/gettimeofday.m4. */ 40 m4/gettimeofday.m4. We use '__restrict' here, rather than
41int gettimeofday (struct timeval *restrict, struct timezone *restrict); 41 'restrict', for the benefit of the old nt/configure.bat build,
42 which does not force the use of -std= switch to GCC, and that
43 causes compilation errors with 'restrict', which is a C99
44 extension. */
45int gettimeofday (struct timeval *__restrict, struct timezone *__restrict);
42 46
43#define ITIMER_REAL 0 47#define ITIMER_REAL 0
44#define ITIMER_PROF 1 48#define ITIMER_PROF 1