]> git.sesse.net Git - vlc/blobdiff - configure.ac
gettext 0.16.1 was an unintended change - sorry
[vlc] / configure.ac
index c314cf313264d6a4d750daf26d9e1a20be422f11..7cfd5cb9a7f6fe648450b77b9344826f9ebeee88 100644 (file)
@@ -1,10 +1,10 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.9.0-svn)
+AC_INIT(vlc,0.9.0-git)
 VERSION_MAJOR="0"
 VERSION_MINOR="9"
 VERSION_REVISION="0"
-VERSION_EXTRA="svn"
+VERSION_EXTRA="git"
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
 CODENAME="Grishenko"
@@ -298,13 +298,13 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
-        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32])
+        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
         VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
         VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
-        VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
+        VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync],[-lws2])
    fi
     ;;
   *nto*)
@@ -392,7 +392,7 @@ lt_cv_deplibs_check_method=pass_all
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION(0.16.1)
+AM_GNU_GETTEXT_VERSION(0.17)
 AM_GNU_GETTEXT([external])
 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
 
@@ -508,7 +508,7 @@ AC_CHECK_FUNCS(connect,,[
 
 AC_CHECK_FUNCS(send,,[
   AC_CHECK_LIB(socket,send,[
-    VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl_udp],[-lsocket])
+    VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp stream_out_standard growl_udp],[-lsocket])
   ])
 ])
 
@@ -797,7 +797,10 @@ AC_CHECK_TYPE(ssize_t,, [
   AC_DEFINE(ssize_t, int)
 ])
 
-AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
+if test "${SYS}" != "darwin"; then
+  AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+fi
 
 dnl Check for dirent
 need_dirent=false
@@ -1059,6 +1062,10 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
 fi
 
 dnl Check for -fvisibility=hidden
+dnl Don't test on mingw32, because it is going to work with just a warning
+dnl even if it doesn't support it
+if test "${SYS}" != "mingw32"
+then
 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
     [ac_cv_c_visibility_hidden],
     [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
@@ -1066,6 +1073,7 @@ AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
 if test "${ac_cv_c_visibility_hidden}" != "no"; then
     VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
 fi
+fi
 
 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
 
@@ -1191,7 +1199,7 @@ dnl
 VLC_ADD_PLUGINS([dummy logger memcpy])
 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
-VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd])
 VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
@@ -1199,7 +1207,7 @@ VLC_ADD_PLUGINS([playlist export nsc xtag])
 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
-VLC_ADD_PLUGINS([access_http access_mms access_ftp])
+VLC_ADD_PLUGINS([access_http access_mms access_ftp access_rtmp])
 VLC_ADD_PLUGINS([access_filter_bandwidth])
 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
@@ -3001,9 +3009,9 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
         VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
      else
-       dnl  The given libavcodec wasn't built with --enable-pp
+       dnl  The given libavcodec wasn't built with --enable-postproc
        AC_MSG_RESULT(no)
-       AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
+       AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
      fi
    fi
    dnl  Use a custom libffmpeg
@@ -3014,11 +3022,28 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
    export PKG_CONFIG_PATH=""
    export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
+   VLC_SAVE_FLAGS
 
-   PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
+   PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
         VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
-      ,[])
+        AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
+      )
+   AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
+     AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
+     PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
+     VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
+     VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
+     ])
+   CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
+   CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
+   
+   AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
+   AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
+   AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
+   AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
+
+   VLC_RESTORE_FLAGS
    AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
          export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
    ],[
@@ -3035,17 +3060,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
      VLC_ADD_BUILTINS([stream_out_switcher])
    fi
 
-   if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
-     AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
-     VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
-     VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
-   fi
 
-    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
-      AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
-      VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
-    fi
 else
 
 
@@ -3055,9 +3070,9 @@ dnl Trying with pkg-config
      VLC_SAVE_FLAGS
      CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
      CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
-     AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
-     AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
-     AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
+     AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
+     AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
+     AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
      dnl newer ffmpeg have a separate libpostproc
      PKG_CHECK_MODULES(POSTPROC, libpostproc,[
        VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) 
@@ -3065,7 +3080,7 @@ dnl Trying with pkg-config
        ],[ true ])
      CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
      CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
-     AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
+     AC_CHECK_HEADERS(postproc/postprocess.h)
      if test "${SYS}" = "darwin"; then
         VLC_ADD_BUILTINS([ffmpeg])
      else
@@ -3085,9 +3100,8 @@ dnl Trying with pkg-config
      PKG_CHECK_MODULES(SWSCALE,[libswscale],[
        VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
        VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
-dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
        AC_CHECK_LIB(swscale, sws_getContext,
-         [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
+         [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
        ],[ true ])
      VLC_RESTORE_FLAGS
     ],[
@@ -3097,10 +3111,10 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
     dnl
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
-      AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
-      AC_CHECK_HEADERS(ffmpeg/avformat.h)
-      AC_CHECK_HEADERS(ffmpeg/avutil.h)
-      AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
+      AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
+      AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
+      AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
+      AC_CHECK_HEADERS(postproc/postprocess.h)
 
       AC_CHECK_LIB(avutil, av_crc_init, [
         VLC_ADD_LIBS([ffmpeg],[-lavutil])
@@ -3116,7 +3130,7 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
 
       AC_CHECK_LIB(postproc, pp_postprocess, [
         VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
-      AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
+      AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
         [$LDAVUTIL])
 
       AC_CHECK_LIB(avformat, av_open_input_stream, [
@@ -3125,7 +3139,7 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
       CPPFLAGS="${CPPFLAGS_save}"
 
       AC_CHECK_LIB(swscale, sws_getContext, [
-        AC_CHECK_HEADERS(ffmpeg/swscale.h)
+        AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
         VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
       LDFLAGS="${LDFLAGS_save}"
       CPPFLAGS="${CPPFLAGS_save}"
@@ -3154,9 +3168,9 @@ then
       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
     fi
     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
-      dnl  The given libavcodecaltivec wasn't built with --enable-pp
+      dnl  The given libavcodecaltivec wasn't built with --enable-postproc
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
+      AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
     fi
     dnl  Use a custom libffmpeg
     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
@@ -3760,7 +3774,6 @@ if test "${enable_x264}" != "no"; then
       AC_MSG_ERROR([the specified tree doesn't have x264.h])
     fi
   else
-    AC_CHECK_HEADERS(x264.h, [
       PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGINS([x264])
         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
@@ -3770,7 +3783,6 @@ if test "${enable_x264}" != "no"; then
             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
           fi
       ])
-    ])
     LDFLAGS="${LDFLAGS_save}"
   fi
 fi
@@ -3977,7 +3989,7 @@ fi
 
 dnl
 dnl  XVMC module
-dnl  (enabled by default except on win32)
+dnl  (disabled by default except on win32)
 dnl
 AC_ARG_ENABLE(xvmc,
   [  --enable-xvmc           XVMC support (default disabled)])
@@ -3987,7 +3999,7 @@ if test "${enable_xvmc}" = "yes" &&
   CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
   AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
     VLC_ADD_PLUGINS([xvmc])
-    VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+    VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
     VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
   ])
   CPPFLAGS="${CPPFLAGS_save}"
@@ -4658,7 +4670,7 @@ AC_ARG_ENABLE(pulse,
   [  --enable-pulse          Pulseaudio support (default enabled)])
   if test "${enable_pulse}" != "no"
    then
-     PKG_CHECK_MODULES(PULSE, libpulse,
+     PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
        [ VLC_ADD_PLUGINS([pulse])
         VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
         VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
@@ -5332,7 +5344,7 @@ AC_ARG_ENABLE(macosx,
   [  --enable-macosx         MacOS X support (default enabled on MacOS X)])
 if test "x${enable_macosx}" = "xyes"
 then
-  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
+#  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
@@ -5344,7 +5356,7 @@ then
   VLC_ADD_LDFLAGS([opengllayer],                      [-Wl,-framework,QuartzCore])
   VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
-  VLC_ADD_PLUGINS([access_eyetv])
+#  VLC_ADD_PLUGINS([access_eyetv])
   VLC_ADD_BUILTINS([macosx minimal_macosx])
  
   ORIGCFLAGS=$CFLAGS
@@ -5973,17 +5985,16 @@ AC_ARG_ENABLE(java-bindings,
   [  --enable-java-bindings  Enable Java bindings (default disabled)])
 if test "${enable_java_bindings}" = "yes"
 then
-  AS_IF([test "x${JAVA_HOME}" == "x"],
-       [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
-  AC_PROG_JAVAC
-  AC_PROG_JAVA
-  PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
-  if test "${JAVAC}" == "javac${EXEEXT}"
-  then
-    JAVAC="javac${EXEEXT} -cp ./ "
-  fi
+        echo ""
+        echo "****** WARNING **** WARNING ***** WARNING *************"
+        echo "*** To compile the java bindings go to the "
+        echo "*** bindings/java folder and run mvn install. "
+       echo "*** You need maven2 installed. "
+       echo "*** This configuration will continue, so you will be "
+       echo "*** able to compile VideoLAN as usual. "
+        echo "*******************************************************"
+        echo ""
 fi
-AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
 
 dnl
 dnl  test plugins
@@ -6162,8 +6173,6 @@ AC_CONFIG_FILES([
   projects/activex/Makefile
   projects/activex/axvlc.inf
   bindings/Makefile
-  bindings/java/Makefile
-  bindings/java/src/Makefile
   bindings/python/Makefile
   doc/Makefile
   extras/package/ipkg/Makefile
@@ -6185,6 +6194,7 @@ AC_CONFIG_FILES([
   modules/access/mms/Makefile
   modules/access/cdda/Makefile
   modules/access/rtsp/Makefile
+  modules/access/rtmp/Makefile
   modules/access/v4l2/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
@@ -6270,9 +6280,14 @@ dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modul
 dnl Shortcut to nice compile message
 rm -f compile
 echo '#! /bin/sh' >compile
-
-echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
-echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >> compile
+echo rm -f .error\$\$ >>compile
+echo ERROR=0 >>compile
+echo export PATH=$PATH LANG=C >>compile
+echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
+echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
+echo test -f .error\$\$ \&\& ERROR=1 >>compile
+echo rm -f .error\$\$ >>compile
+echo exit \$ERROR >>compile
 chmod a+x compile
 
 printf "