build problems

6 Messages Forum Options Options
Permalink
Jan Kolar
build problems
Reply Threaded More
Print post
Permalink

I had several build problems.
Since two of them appeared also to other people, I decided put an info here.

On Cygwin, the patches below made it built.
(I think I also had to disable nyquist, I mean --disable, not --without).

On Linux, installing to rather empty Fedora (my first linux build
attempt), I had problem too.
(Do not know precisely, I deleted all after second/third problem.
 First was allegro.h and the second raptor not compiling and then
libsndf depending on it when disabled by configure.)

Jan

-------------------------------------------------
This made Audacity build on cygwin:
(In attachment, it is the same splited to individual files).
(Unfortunately I do not have time to prepare it for post properly.)
This worked with 6a3 and also 10 hours ago.
( Apply p* before c* )


*** audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp    Fri Jun 27
05:21:14 2008
--- ../cvs/audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp    Sun
Jun 29 13:44:07 2008
***************
*** 53,60 ****
--- 53,65 ----
  #include "../FileDialog.h"
 
  #include <shlobj.h>
 
+ // added by jan.kolar - needed on Cygwin
+ #ifndef SFGAO_STREAM
+ #define SFGAO_STREAM 0x0L
+ #endif
+
  //
----------------------------------------------------------------------------
  // constants
  //
----------------------------------------------------------------------------
 
*** audacity/src/Audacity.h    Sun Jun 15 23:45:26 2008
--- ../cvs/audacity/src/Audacity.h    Tue Jul  1 00:54:17 2008
***************
*** 98,105 ****
--- 98,109 ----
     #else
     #define AUDACITY_DLL_API __attribute__((visibility("default")))
     #endif
  #endif
+ // Prevent problems with undefined AUDACITY_DLL_API, e.g. on Cygwin.
+ #ifndef AUDACITY_DLL_API
+    #define AUDACITY_DLL_API
+ #endif
 
  // For compilers that support precompilation, includes "wx/wx.h".
  // Mainly for MSVC developers.
  //
*** audacity/acinclude.m4    Wed Jun 25 22:14:43 2008
--- ../cvs/audacity/acinclude.m4    Tue Jul  1 02:03:09 2008
***************
*** 369,378 ****
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
!         dnl export/ExportFFmpeg.o"
          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
       fi
     fi
--- 369,377 ----
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o export/ExportFFmpeg.o"
          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
       fi
     fi
*** audacity/configure    Thu Jun 26 17:20:38 2008
--- ../cvs/audacity/configure    Tue Jul  1 02:38:05 2008
***************
*** 8055,8065 ****
     if test "x$avcodec_h_found" = "xyes" ; then
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          { echo "$as_me:$LINENO: FFmpeg headers are available in the
local tree" >&5
  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
       fi
     fi
--- 8055,8067 ----
     if test "x$avcodec_h_found" = "xyes" ; then
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         # not enough to complie currently:
FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o export/ExportFFmpeg.o"
!
                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          { echo "$as_me:$LINENO: FFmpeg headers are available in the
local tree" >&5
  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
       fi
     fi
*** audacity/src/Project.cpp    Fri Jun 27 01:44:58 2008
--- ../cvs/audacity/src/Project.cpp    Tue Jul  1 10:26:35 2008
***************
*** 486,496 ****
     VSBarID,
     TrackPanelID
  };
 
! //also in ODManager.cpp
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
--- 486,499 ----
     VSBarID,
     TrackPanelID
  };
 
! // also in ODManager.cpp resp. ODTask.cpp
! // (should be rather in a header file)
! BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
+ END_DECLARE_EVENT_TYPES()
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
*** audacity/src/ondemand/ODManager.cpp    Fri Jun 27 01:44:59 2008
--- ../cvs/audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:35:25 2008
***************
*** 22,30 ****
--- 22,33 ----
  bool sHasLoadedOD=false;
 
 
 
+ BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
+ END_DECLARE_EVENT_TYPES()
+
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
 
  //private constructor - Singleton.
  ODManager::ODManager()
***************
*** 330,334 ****
  bool ODManager::HasLoadedODFlag()
  {
     return sHasLoadedOD;
  }
!  
\ No newline at end of file
--- 333,342 ----
  bool ODManager::HasLoadedODFlag()
  {
     return sHasLoadedOD;
  }
!
!
!
!
!
!  
*** audacity/src/ondemand/ODTask.cpp    Sun Jun 22 21:25:30 2008
--- ../cvs/audacity/src/ondemand/ODTask.cpp    Tue Jul  1 10:38:17 2008
***************
*** 23,31 ****
--- 23,34 ----
  #include <wx/wx.h>
  #include "../Project.h"
 
 
+ BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
+ END_DECLARE_EVENT_TYPES()
+
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE)
 
  /// Constructs an ODTask
  ODTask::ODTask()
***************
*** 136,140 ****
  ///return
  bool ODTask::IsComplete()
  {
     return PercentComplete() >= 1.0;
! }
\ No newline at end of file
--- 139,147 ----
  ///return
  bool ODTask::IsComplete()
  {
     return PercentComplete() >= 1.0;
! }
!
!
!
!
*** audacity/lib-src/allegro/Makefile    Tue Jul  1 03:55:44 2008
--- audacity/lib-src/allegro/Makefile.new    Tue Jul  1 17:59:06 2008
***************
*** 11,14 ****
--- 11,15 ----
      allegro.cpp.o \
      allegrord.cpp.o \
+     allegrosmfrd.cpp.o \
      allegrowr.cpp.o \
      mfallegro.cpp.o \
*** audacity/lib-src/allegro/Makefile.in    Wed Jan 23 06:03:10 2008
--- audacity/lib-src/allegro/Makefile.in.new    Tue Jul  1 17:58:19 2008
***************
*** 11,14 ****
--- 11,15 ----
      allegro.cpp.o \
      allegrord.cpp.o \
+     allegrosmfrd.cpp.o \
      allegrowr.cpp.o \
      mfallegro.cpp.o \
*** audacity/src/FreqWindow.cpp    Sat Jun 28 23:10:52 2008
--- ../cvs/audacity/src/FreqWindow.cpp    Tue Jul  1 01:02:00 2008
***************
*** 388,395 ****
--- 388,397 ----
     memDC.SetPen(*wxBLACK_PEN);
     memDC.SetBrush(*wxWHITE_BRUSH);
     memDC.DrawRectangle(r);
 
+ // Hack for Cygwin, where it happens to be #defined to DrawTextA
+ #undef DrawText
     if (!mProcessed) {
        if (mData && mDataLen < mWindowSize)
           memDC.DrawText(_("Not enough data selected."), r.x + 5, r.y + 5);
 
*** audacity/src/export/Export.cpp    Sun Jun 29 08:14:11 2008
--- ../cvs/audacity/src/export/Export.cpp    Tue Jul  1 01:50:25 2008
***************
*** 885,893 ****
--- 885,905 ----
        memDC.SetPen( mSelectedTrack == i ? *wxRED_PEN : *wxBLACK_PEN );
        memDC.DrawRectangle( mTrackRects[ i ] );
 
        memDC.GetTextExtent( mTrackNames[ i ], &w, &h );
+
+
+ // ----------------------------------------------------------------
+ // There is a problem with DrawText versus DrawTextA on cygwin.
+ // Contrary to  FreqWindow.cpp:392nn, it is reversed for this file!
+ // Here I 'need' DrawTextA to make it compile.
+      
+      
+ #ifdef __CYGWIN__
+       memDC.DrawTextA( mTrackNames[ i ],
+ #else
        memDC.DrawText( mTrackNames[ i ],
+ #endif
              mTrackRects[ i ].x + ( mBoxWidth - w ) / 2,
              mTrackRects[ i ].y + ( mTrackHeight - h ) / 2 );
     }
 
***************
*** 912,920 ****
--- 924,936 ----
 
        memDC.SetPen( mSelectedChannel == i ? *wxRED_PEN : *wxBLACK_PEN );
        memDC.DrawRectangle( mChannelRects[ i ] );
       
+ #ifdef __CYGWIN__
+       memDC.DrawTextA( wxString::Format( _( "Channel: %2d" ), i + 1 ),
+ #else
        memDC.DrawText( wxString::Format( _( "Channel: %2d" ), i + 1 ),
+ #endif
              mChannelRects[ i ].x + ( mBoxWidth - w ) / 2,
              mChannelRects[ i ].y + ( mChannelHeight - h ) / 2 );
     }
   
*** audacity/src/Menus.cpp    Sun Jun 29 23:00:07 2008
--- ../cvs/audacity/src/Menus.cpp    Tue Jul  1 01:08:27 2008
***************
*** 29,36 ****
--- 29,40 ----
  simplifies construction of menu items.
 
  *//*******************************************************************/
 
+ // hack for Cygwin:
+ //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int
clash with gethostname.
+ #define __USE_W32_SOCKETS
+
  #include "Audacity.h"
 
  #include <iterator>
  #include <math.h>
*** audacity/src/UploadDialog.cpp    Sun Jun  1 08:57:29 2008
--- ../cvs/audacity/src/UploadDialog.cpp    Tue Jul  1 01:39:22 2008
***************
*** 14,23 ****
--- 14,33 ----
  \class UploadDialog
  \brief A contributed class for uploading audio via FTP.
 
  *//*******************************************************************/
 
+ // hack for Cygwin:
+ //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int
clash
+ //  with gethostname in unistd.h included from Menu.cpp and WaveTrack.h
+ //  (Better place do define this might be UploadDialog.h, included
from both ? Or more risky?)
+ //  (Or, is simply some include missing here?)
+ #ifdef __CYGWIN__
+ #define __USE_W32_SOCKETS
+ #endif
+
+
  #include "Audacity.h"
 
  #include <fstream>
  #include <math.h>
  #include <wx/dialog.h>
*** audacity/src/Theme.cpp    Fri May 23 07:54:00 2008
--- ../cvs/audacity/src/Theme.cpp    Tue Jul  1 01:17:02 2008
***************
*** 929,937 ****
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #ifdef __WXMSW__
        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
  #else
        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
  #endif
--- 929,937 ----
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #if defined(__WXMSW__) && !defined(__CYGWIN__)
        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
  #else
        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
  #endif
*** audacity/src/effects/NoiseRemoval.cpp    Tue Jun  3 09:16:41 2008
--- ../cvs/audacity/src/effects/NoiseRemoval.cpp    Tue Jul  1 04:00:20 2008
***************
*** 160,168 ****
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #ifdef __WXMSW__
        wxMkDir( FileNames::NRPDir().fn_str() );
  #else
        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
  #endif
--- 160,168 ----
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #if defined(__WXMSW__) && !defined(__CYGWIN__)
        wxMkDir( FileNames::NRPDir().fn_str() );
  #else
        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
  #endif
*** audacity/src/WaveTrack.cpp    Thu Jun 26 17:00:48 2008
--- ../cvs/audacity/src/WaveTrack.cpp    Tue Jul  1 01:31:26 2008
***************
*** 1931,1939 ****
--- 1931,1944 ----
           {
              delete newClip;
              return false;
           }
+ // on Cygwin there is no llrint. (Though, Mingw knows llrint !)
+ #ifdef __CYGWIN__
+          longSampleCount here =        floor(((t - c->GetStartTime() -
mOffset) * mRate) + 0.5);
+ #else
           longSampleCount here = llrint(floor(((t - c->GetStartTime() -
mOffset) * mRate) + 0.5));
+ #endif
           newClip->Offset((double)here/(double)mRate);
           mClips.Append(newClip);
           return true;
        }
*** audacity/src/ondemand/ODTaskThread.h    Mon Jun 16 00:24:05 2008
--- ../cvs/audacity/src/ondemand/ODTaskThread.h    Tue Jul  1 01:58:26 2008
***************
*** 20,28 ****
--- 20,32 ----
 
 
  #ifndef __AUDACITY_ODTASKTHREAD__
  #define __AUDACITY_ODTASKTHREAD__
+
+ //vector not needed and does not compile on Cygwin
+ #ifndef __CYGWIN__
  #include <vector>
+ #endif
  #include <wx/thread.h>
 
  class ODTask;
 
*** audacity/src/effects/EffectCategory.h    Mon Jun 23 18:18:13 2008
--- ../cvs/audacity/src/effects/EffectCategory.h    Mon Jun 30 13:17:19 2008
***************
*** 21,29 ****
  #ifndef __AUDACITY_EFFECTCATEGORY__
  #define __AUDACITY_EFFECTCATEGORY__
 
  #include <set>
! #include <vector>
 
  #include <wx/string.h>
 
  #include "Effect.h"
--- 21,29 ----
  #ifndef __AUDACITY_EFFECTCATEGORY__
  #define __AUDACITY_EFFECTCATEGORY__
 
  #include <set>
! //#include <vector>
 
  #include <wx/string.h>
 
  #include "Effect.h"
*** audacity/src/Makefile    Tue Jul  1 11:45:33 2008
--- audacity/src/Makefile.vimbak    Tue Jul  1 04:22:16 2008
***************
*** 20,26 ****
  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a
libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a
libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a
liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a
portmixer/libportmixer.a
  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a
../lib-src/portmixer/libportmixer.a
  EXTRATARGETS =
! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8
-lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8
-lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8
-lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
-lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32
-lwinmm    -lwinmm -lm -lz
  DIRS=blockfile commands effects effects/ladspa effects/nyquist
effects/vamp export import prefs toolbars widgets xml
 
  srcdir=.
--- 20,26 ----
  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a
libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a
libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a
liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a
portmixer/libportmixer.a
  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a
../lib-src/portmixer/libportmixer.a
  EXTRATARGETS =
! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8
-lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8
-lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8
-lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
-lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32
-lwinmm    -lwinmm -lm
  DIRS=blockfile commands effects effects/ladspa effects/nyquist
effects/vamp export import prefs toolbars widgets xml
 
  srcdir=.
*** audacity/configure.in    Thu Jun 26 17:20:39 2008
--- ../cvs/audacity/configure.in    Mon Jun 30 18:08:12 2008
***************
*** 541,548 ****
--- 541,549 ----
           LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
           LIBS="-framework CoreAudio $LIBS -lz"
           ;;
        cygwin*)
+          LIBS="$LIBS -lz"
           ;;
        *)
           dnl Unix
           AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
***************
*** 577,584 ****
--- 578,586 ----
           ;;
        cygwin*)
           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_win_wmme/portaudio.a"
           EXTRAOBJS="$EXTRAOBJS
../lib-src/portaudio/pa_win_wmme/portaudio.a"
+          # needed also??  LIBS="$LIBS -lz"
           ;;
        *)
           dnl Unix
           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_unix_oss/portaudio.a"
*** audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:44:04 2008
--- ../cvs/audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:49:52 2008
***************
*** 20,35 ****
  bool gManagerCreated=false;
  /// a flag that is set if we have loaded some OD blockfiles from PCM.
  bool sHasLoadedOD=false;
 
 
!
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  END_DECLARE_EVENT_TYPES()
 
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
 
  //private constructor - Singleton.
  ODManager::ODManager()
  {
     mTerminate = false;
--- 20,36 ----
  bool gManagerCreated=false;
  /// a flag that is set if we have loaded some OD blockfiles from PCM.
  bool sHasLoadedOD=false;
 
 
! #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  END_DECLARE_EVENT_TYPES()
 
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
+ #endif
 
  //private constructor - Singleton.
  ODManager::ODManager()
  {
     mTerminate = false;
***************
*** 199,218 ****
--- 200,221 ----
        mQueuesMutex.Lock();
        mNeedsDraw += mQueues.size()>0?1:0;
        mQueuesMutex.Unlock();
  //    
  //      //TODO:this is a little excessive, in the future only redraw
some, and if possible only the Tracks on the trackpanel..
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
        if(mNeedsDraw > 18)
        {
           mNeedsDraw=0;
           wxCommandEvent event( wxEVT_ODTASK_UPDATE );
           AudacityProject::AllProjectsDeleteLock();
           AudacityProject* proj = GetActiveProject();
           if(proj)
              proj->AddPendingEvent( event );
           AudacityProject::AllProjectsDeleteUnlock();
        }  
+ #endif
     }
     mTerminateMutex.Unlock();
   
   
     //wxLogDebug Not thread safe.
*** audacity/src/Project.cpp    Tue Jul  1 10:44:03 2008
--- ../cvs/audacity/src/Project.cpp    Tue Jul  1 11:01:51 2008
***************
*** 490,497 ****
--- 490,499 ----
  // also in ODManager.cpp resp. ODTask.cpp
  // (should be rather in a header file)
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
  END_DECLARE_EVENT_TYPES()
+ #endif  
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
***************
*** 515,520 ****
--- 517,524 ----
      EVT_COMMAND(wxID_ANY, EVT_CAPTURE_KEYBOARD,
AudacityProject::OnCaptureKeyboard)
      EVT_COMMAND(wxID_ANY, EVT_RELEASE_KEYBOARD,
AudacityProject::OnReleaseKeyboard)
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_UPDATE,
AudacityProject::OnODTaskUpdate)
      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_COMPLETE,
AudacityProject::OnODTaskComplete)
+ #endif  
  END_EVENT_TABLE()
 


*** audacity/src/effects/EffectCategory.h Mon Jun 23 18:18:13 2008
--- ../cvs/audacity/src/effects/EffectCategory.h Mon Jun 30 13:17:19 2008
***************
*** 21,29 ****
  #ifndef __AUDACITY_EFFECTCATEGORY__
  #define __AUDACITY_EFFECTCATEGORY__
 
  #include <set>
! #include <vector>
 
  #include <wx/string.h>
 
  #include "Effect.h"
--- 21,29 ----
  #ifndef __AUDACITY_EFFECTCATEGORY__
  #define __AUDACITY_EFFECTCATEGORY__
 
  #include <set>
! //#include <vector>
 
  #include <wx/string.h>
 
  #include "Effect.h"

*** audacity/configure.in Thu Jun 26 17:20:39 2008
--- ../cvs/audacity/configure.in Mon Jun 30 18:08:12 2008
***************
*** 541,548 ****
--- 541,549 ----
           LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
           LIBS="-framework CoreAudio $LIBS -lz"
           ;;
        cygwin*)
+          LIBS="$LIBS -lz"
           ;;
        *)
           dnl Unix
           AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
***************
*** 577,584 ****
--- 578,586 ----
           ;;
        cygwin*)
           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_win_wmme/portaudio.a"
           EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_win_wmme/portaudio.a"
+          # needed also??  LIBS="$LIBS -lz"
           ;;
        *)
           dnl Unix
           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_unix_oss/portaudio.a"

*** audacity/src/Makefile Tue Jul  1 11:45:33 2008
--- audacity/src/Makefile.vimbak Tue Jul  1 04:22:16 2008
***************
*** 20,26 ****
  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a portmixer/libportmixer.a
  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a ../lib-src/portmixer/libportmixer.a
  EXTRATARGETS =
! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8 -lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8 -lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8 -lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32 -lwinmm    -lwinmm -lm -lz
  DIRS=blockfile commands effects effects/ladspa effects/nyquist effects/vamp export import prefs toolbars widgets xml
 
  srcdir=.
--- 20,26 ----
  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a portmixer/libportmixer.a
  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a ../lib-src/portmixer/libportmixer.a
  EXTRATARGETS =
! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8 -lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8 -lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8 -lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32 -lwinmm    -lwinmm -lm
  DIRS=blockfile commands effects effects/ladspa effects/nyquist effects/vamp export import prefs toolbars widgets xml
 
  srcdir=.

*** audacity/src/Project.cpp Tue Jul  1 10:44:03 2008
--- ../cvs/audacity/src/Project.cpp Tue Jul  1 11:01:51 2008
***************
*** 490,497 ****
--- 490,499 ----
  // also in ODManager.cpp resp. ODTask.cpp
  // (should be rather in a header file)
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
  END_DECLARE_EVENT_TYPES()
+ #endif  
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
***************
*** 515,520 ****
--- 517,524 ----
      EVT_COMMAND(wxID_ANY, EVT_CAPTURE_KEYBOARD, AudacityProject::OnCaptureKeyboard)
      EVT_COMMAND(wxID_ANY, EVT_RELEASE_KEYBOARD, AudacityProject::OnReleaseKeyboard)
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_UPDATE, AudacityProject::OnODTaskUpdate)
      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_COMPLETE, AudacityProject::OnODTaskComplete)
+ #endif  
  END_EVENT_TABLE()
 

*** audacity/src/ondemand/ODManager.cpp Tue Jul  1 10:44:04 2008
--- ../cvs/audacity/src/ondemand/ODManager.cpp Tue Jul  1 10:49:52 2008
***************
*** 20,35 ****
  bool gManagerCreated=false;
  /// a flag that is set if we have loaded some OD blockfiles from PCM.  
  bool sHasLoadedOD=false;
 
 
!
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  END_DECLARE_EVENT_TYPES()
 
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
 
  //private constructor - Singleton.
  ODManager::ODManager()
  {
     mTerminate = false;
--- 20,36 ----
  bool gManagerCreated=false;
  /// a flag that is set if we have loaded some OD blockfiles from PCM.  
  bool sHasLoadedOD=false;
 
 
! #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
  BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  END_DECLARE_EVENT_TYPES()
 
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
+ #endif
 
  //private constructor - Singleton.
  ODManager::ODManager()
  {
     mTerminate = false;
***************
*** 199,218 ****
--- 200,221 ----
        mQueuesMutex.Lock();
        mNeedsDraw += mQueues.size()>0?1:0;
        mQueuesMutex.Unlock();
  //      
  //      //TODO:this is a little excessive, in the future only redraw some, and if possible only the Tracks on the trackpanel..
+ #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
        if(mNeedsDraw > 18)
        {
           mNeedsDraw=0;
           wxCommandEvent event( wxEVT_ODTASK_UPDATE );
           AudacityProject::AllProjectsDeleteLock();
           AudacityProject* proj = GetActiveProject();
           if(proj)
              proj->AddPendingEvent( event );
           AudacityProject::AllProjectsDeleteUnlock();
        }  
+ #endif
     }
     mTerminateMutex.Unlock();
     
     
     //wxLogDebug Not thread safe.

*** audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp Fri Jun 27 05:21:14 2008
--- ../cvs/audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp Sun Jun 29 13:44:07 2008
***************
*** 53,60 ****
--- 53,65 ----
  #include "../FileDialog.h"
 
  #include <shlobj.h>
 
+ // added by jan.kolar - needed on Cygwin
+ #ifndef SFGAO_STREAM
+ #define SFGAO_STREAM 0x0L
+ #endif
+
  // ----------------------------------------------------------------------------
  // constants
  // ----------------------------------------------------------------------------
 

*** audacity/src/Audacity.h Sun Jun 15 23:45:26 2008
--- ../cvs/audacity/src/Audacity.h Tue Jul  1 00:54:17 2008
***************
*** 98,105 ****
--- 98,109 ----
     #else
     #define AUDACITY_DLL_API __attribute__((visibility("default")))
     #endif
  #endif
+ // Prevent problems with undefined AUDACITY_DLL_API, e.g. on Cygwin.
+ #ifndef AUDACITY_DLL_API
+    #define AUDACITY_DLL_API
+ #endif
 
  // For compilers that support precompilation, includes "wx/wx.h".
  // Mainly for MSVC developers.
  //

*** audacity/acinclude.m4 Wed Jun 25 22:14:43 2008
--- ../cvs/audacity/acinclude.m4 Tue Jul  1 02:03:09 2008
***************
*** 369,378 ****
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
!         dnl export/ExportFFmpeg.o"
          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
       fi
     fi
--- 369,377 ----
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o export/ExportFFmpeg.o"
          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
       fi
     fi

*** audacity/configure Thu Jun 26 17:20:38 2008
--- ../cvs/audacity/configure Tue Jul  1 02:38:05 2008
***************
*** 8055,8065 ****
     if test "x$avcodec_h_found" = "xyes" ; then
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          { echo "$as_me:$LINENO: FFmpeg headers are available in the local tree" >&5
  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
       fi
     fi
--- 8055,8067 ----
     if test "x$avcodec_h_found" = "xyes" ; then
       if test "x$avformat_h_found" = "xyes" ; then
          FFMPEG_LOCAL_AVAILABLE="yes"
          FFMPEG_LOCAL_LIBS=""
          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
!         # not enough to complie currently: FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
!         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o export/ExportFFmpeg.o"
!
                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
          { echo "$as_me:$LINENO: FFmpeg headers are available in the local tree" >&5
  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
       fi
     fi

*** audacity/src/Project.cpp Fri Jun 27 01:44:58 2008
--- ../cvs/audacity/src/Project.cpp Tue Jul  1 10:26:35 2008
***************
*** 486,496 ****
     VSBarID,
     TrackPanelID
  };
 
! //also in ODManager.cpp
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
--- 486,499 ----
     VSBarID,
     TrackPanelID
  };
 
! // also in ODManager.cpp resp. ODTask.cpp
! // (should be rather in a header file)
! BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
+ END_DECLARE_EVENT_TYPES()
 
  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
*** audacity/src/ondemand/ODManager.cpp Fri Jun 27 01:44:59 2008
--- ../cvs/audacity/src/ondemand/ODManager.cpp Tue Jul  1 10:35:25 2008
***************
*** 22,30 ****
--- 22,33 ----
  bool sHasLoadedOD=false;
 
 
 
+ BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
+ END_DECLARE_EVENT_TYPES()
+
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
 
  //private constructor - Singleton.
  ODManager::ODManager()
***************
*** 330,334 ****
  bool ODManager::HasLoadedODFlag()
  {
     return sHasLoadedOD;
  }
!  
\ No newline at end of file
--- 333,342 ----
  bool ODManager::HasLoadedODFlag()
  {
     return sHasLoadedOD;
  }
!
!
!
!
!
!  
*** audacity/src/ondemand/ODTask.cpp Sun Jun 22 21:25:30 2008
--- ../cvs/audacity/src/ondemand/ODTask.cpp Tue Jul  1 10:38:17 2008
***************
*** 23,31 ****
--- 23,34 ----
  #include <wx/wx.h>
  #include "../Project.h"
 
 
+ BEGIN_DECLARE_EVENT_TYPES()
  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
+ END_DECLARE_EVENT_TYPES()
+
  DEFINE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE)
 
  /// Constructs an ODTask
  ODTask::ODTask()
***************
*** 136,140 ****
  ///return
  bool ODTask::IsComplete()
  {
     return PercentComplete() >= 1.0;
! }
\ No newline at end of file
--- 139,147 ----
  ///return
  bool ODTask::IsComplete()
  {
     return PercentComplete() >= 1.0;
! }
!
!
!
!

*** audacity/lib-src/allegro/Makefile Tue Jul  1 03:55:44 2008
--- audacity/lib-src/allegro/Makefile.new Tue Jul  1 17:59:06 2008
***************
*** 11,14 ****
--- 11,15 ----
  allegro.cpp.o \
  allegrord.cpp.o \
+ allegrosmfrd.cpp.o \
  allegrowr.cpp.o \
  mfallegro.cpp.o \
*** audacity/lib-src/allegro/Makefile.in Wed Jan 23 06:03:10 2008
--- audacity/lib-src/allegro/Makefile.in.new Tue Jul  1 17:58:19 2008
***************
*** 11,14 ****
--- 11,15 ----
  allegro.cpp.o \
  allegrord.cpp.o \
+ allegrosmfrd.cpp.o \
  allegrowr.cpp.o \
  mfallegro.cpp.o \

*** audacity/src/FreqWindow.cpp Sat Jun 28 23:10:52 2008
--- ../cvs/audacity/src/FreqWindow.cpp Tue Jul  1 01:02:00 2008
***************
*** 388,395 ****
--- 388,397 ----
     memDC.SetPen(*wxBLACK_PEN);
     memDC.SetBrush(*wxWHITE_BRUSH);
     memDC.DrawRectangle(r);
 
+ // Hack for Cygwin, where it happens to be #defined to DrawTextA
+ #undef DrawText
     if (!mProcessed) {
        if (mData && mDataLen < mWindowSize)
           memDC.DrawText(_("Not enough data selected."), r.x + 5, r.y + 5);
 

*** audacity/src/export/Export.cpp Sun Jun 29 08:14:11 2008
--- ../cvs/audacity/src/export/Export.cpp Tue Jul  1 01:50:25 2008
***************
*** 885,893 ****
--- 885,905 ----
        memDC.SetPen( mSelectedTrack == i ? *wxRED_PEN : *wxBLACK_PEN );
        memDC.DrawRectangle( mTrackRects[ i ] );
 
        memDC.GetTextExtent( mTrackNames[ i ], &w, &h );
+
+
+ // ----------------------------------------------------------------
+ // There is a problem with DrawText versus DrawTextA on cygwin.
+ // Contrary to  FreqWindow.cpp:392nn, it is reversed for this file!
+ // Here I 'need' DrawTextA to make it compile.
+      
+      
+ #ifdef __CYGWIN__
+       memDC.DrawTextA( mTrackNames[ i ],
+ #else
        memDC.DrawText( mTrackNames[ i ],
+ #endif
              mTrackRects[ i ].x + ( mBoxWidth - w ) / 2,
              mTrackRects[ i ].y + ( mTrackHeight - h ) / 2 );
     }
 
***************
*** 912,920 ****
--- 924,936 ----
 
        memDC.SetPen( mSelectedChannel == i ? *wxRED_PEN : *wxBLACK_PEN );
        memDC.DrawRectangle( mChannelRects[ i ] );
       
+ #ifdef __CYGWIN__
+       memDC.DrawTextA( wxString::Format( _( "Channel: %2d" ), i + 1 ),
+ #else
        memDC.DrawText( wxString::Format( _( "Channel: %2d" ), i + 1 ),
+ #endif
              mChannelRects[ i ].x + ( mBoxWidth - w ) / 2,
              mChannelRects[ i ].y + ( mChannelHeight - h ) / 2 );
     }
   

*** audacity/src/Menus.cpp Sun Jun 29 23:00:07 2008
--- ../cvs/audacity/src/Menus.cpp Tue Jul  1 01:08:27 2008
***************
*** 29,36 ****
--- 29,40 ----
  simplifies construction of menu items.
 
  *//*******************************************************************/
 
+ // hack for Cygwin:
+ //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int clash with gethostname.
+ #define __USE_W32_SOCKETS
+
  #include "Audacity.h"
 
  #include <iterator>
  #include <math.h>

*** audacity/src/UploadDialog.cpp Sun Jun  1 08:57:29 2008
--- ../cvs/audacity/src/UploadDialog.cpp Tue Jul  1 01:39:22 2008
***************
*** 14,23 ****
--- 14,33 ----
  \class UploadDialog
  \brief A contributed class for uploading audio via FTP.
 
  *//*******************************************************************/
 
+ // hack for Cygwin:
+ //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int clash
+ //  with gethostname in unistd.h included from Menu.cpp and WaveTrack.h
+ //  (Better place do define this might be UploadDialog.h, included from both ? Or more risky?)
+ //  (Or, is simply some include missing here?)
+ #ifdef __CYGWIN__
+ #define __USE_W32_SOCKETS
+ #endif
+
+
  #include "Audacity.h"
 
  #include <fstream>
  #include <math.h>
  #include <wx/dialog.h>

*** audacity/src/Theme.cpp Fri May 23 07:54:00 2008
--- ../cvs/audacity/src/Theme.cpp Tue Jul  1 01:17:02 2008
***************
*** 929,937 ****
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #ifdef __WXMSW__
        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
  #else
        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
  #endif
--- 929,937 ----
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #if defined(__WXMSW__) && !defined(__CYGWIN__)
        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
  #else
        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
  #endif

*** audacity/src/effects/NoiseRemoval.cpp Tue Jun  3 09:16:41 2008
--- ../cvs/audacity/src/effects/NoiseRemoval.cpp Tue Jul  1 04:00:20 2008
***************
*** 160,168 ****
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #ifdef __WXMSW__
        wxMkDir( FileNames::NRPDir().fn_str() );
  #else
        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
  #endif
--- 160,168 ----
        /// directory didn't exist, even if it successfully creates it.
        /// so we create and then test if it exists instead.
        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
        /// under MSW
! #if defined(__WXMSW__) && !defined(__CYGWIN__)
        wxMkDir( FileNames::NRPDir().fn_str() );
  #else
        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
  #endif

*** audacity/src/WaveTrack.cpp Thu Jun 26 17:00:48 2008
--- ../cvs/audacity/src/WaveTrack.cpp Tue Jul  1 01:31:26 2008
***************
*** 1931,1939 ****
--- 1931,1944 ----
           {
              delete newClip;
              return false;
           }
+ // on Cygwin there is no llrint. (Though, Mingw knows llrint !)
+ #ifdef __CYGWIN__
+          longSampleCount here =        floor(((t - c->GetStartTime() - mOffset) * mRate) + 0.5);
+ #else
           longSampleCount here = llrint(floor(((t - c->GetStartTime() - mOffset) * mRate) + 0.5));
+ #endif
           newClip->Offset((double)here/(double)mRate);
           mClips.Append(newClip);
           return true;
        }

*** audacity/src/ondemand/ODTaskThread.h Mon Jun 16 00:24:05 2008
--- ../cvs/audacity/src/ondemand/ODTaskThread.h Tue Jul  1 01:58:26 2008
***************
*** 20,28 ****
--- 20,32 ----
 
 
  #ifndef __AUDACITY_ODTASKTHREAD__
  #define __AUDACITY_ODTASKTHREAD__
+
+ //vector not needed and does not compile on Cygwin
+ #ifndef __CYGWIN__
  #include <vector>
+ #endif
  #include <wx/thread.h>
 
  class ODTask;
 

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Audacity-devel mailing list
Audacity-devel@...
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Martyn Shaw-2
Re: build problems
Reply Threaded More
Print post
Permalink
So you got it built and running on Cygwin?  That must be the first one
in a long time!

A lot of these problems look like the sort of thing we'd get if one
platform wasn't used for ages.

Are we going to try and support Cygwin?  If so, it would need a
regular developer who used it, I guess.

Interesting.

Martyn

Jan Kolar wrote:

>
> I had several build problems.
> Since two of them appeared also to other people, I decided put an info
> here.
>
> On Cygwin, the patches below made it built.
> (I think I also had to disable nyquist, I mean --disable, not --without).
>
> On Linux, installing to rather empty Fedora (my first linux build
> attempt), I had problem too.
> (Do not know precisely, I deleted all after second/third problem.
> First was allegro.h and the second raptor not compiling and then libsndf
> depending on it when disabled by configure.)
>
> Jan
>
> -------------------------------------------------
> This made Audacity build on cygwin:
> (In attachment, it is the same splited to individual files).
> (Unfortunately I do not have time to prepare it for post properly.)
> This worked with 6a3 and also 10 hours ago.
> ( Apply p* before c* )
>
>
> *** audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp    Fri Jun 27
> 05:21:14 2008
> --- ../cvs/audacity/lib-src/FileDialog/win/FileDialogPrivate.cpp    Sun
> Jun 29 13:44:07 2008
> ***************
> *** 53,60 ****
> --- 53,65 ----
>  #include "../FileDialog.h"
>
>  #include <shlobj.h>
>
> + // added by jan.kolar - needed on Cygwin
> + #ifndef SFGAO_STREAM
> + #define SFGAO_STREAM 0x0L
> + #endif
> +
>  //
> ----------------------------------------------------------------------------
>
>  // constants
>  //
> ----------------------------------------------------------------------------
>
>
> *** audacity/src/Audacity.h    Sun Jun 15 23:45:26 2008
> --- ../cvs/audacity/src/Audacity.h    Tue Jul  1 00:54:17 2008
> ***************
> *** 98,105 ****
> --- 98,109 ----
>     #else
>     #define AUDACITY_DLL_API __attribute__((visibility("default")))
>     #endif
>  #endif
> + // Prevent problems with undefined AUDACITY_DLL_API, e.g. on Cygwin.
> + #ifndef AUDACITY_DLL_API
> +    #define AUDACITY_DLL_API
> + #endif
>
>  // For compilers that support precompilation, includes "wx/wx.h".
>  // Mainly for MSVC developers.
>  //
> *** audacity/acinclude.m4    Wed Jun 25 22:14:43 2008
> --- ../cvs/audacity/acinclude.m4    Tue Jul  1 02:03:09 2008
> ***************
> *** 369,378 ****
>       if test "x$avformat_h_found" = "xyes" ; then
>          FFMPEG_LOCAL_AVAILABLE="yes"
>          FFMPEG_LOCAL_LIBS=""
>          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
> !         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
> !         dnl export/ExportFFmpeg.o"
>          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
>          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
>       fi
>     fi
> --- 369,377 ----
>       if test "x$avformat_h_found" = "xyes" ; then
>          FFMPEG_LOCAL_AVAILABLE="yes"
>          FFMPEG_LOCAL_LIBS=""
>          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
> !         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o
> export/ExportFFmpeg.o"
>          FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
>          AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
>       fi
>     fi
> *** audacity/configure    Thu Jun 26 17:20:38 2008
> --- ../cvs/audacity/configure    Tue Jul  1 02:38:05 2008
> ***************
> *** 8055,8065 ****
>     if test "x$avcodec_h_found" = "xyes" ; then
>       if test "x$avformat_h_found" = "xyes" ; then
>          FFMPEG_LOCAL_AVAILABLE="yes"
>          FFMPEG_LOCAL_LIBS=""
>          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
> !         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
>                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
>          { echo "$as_me:$LINENO: FFmpeg headers are available in the
> local tree" >&5
>  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
>       fi
>     fi
> --- 8055,8067 ----
>     if test "x$avcodec_h_found" = "xyes" ; then
>       if test "x$avformat_h_found" = "xyes" ; then
>          FFMPEG_LOCAL_AVAILABLE="yes"
>          FFMPEG_LOCAL_LIBS=""
>          FFMPEG_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
> !         # not enough to complie currently:
> FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o"
> !         FFMPEG_LOCAL_OPTOBJS="import/ImportFFmpeg.o
> export/ExportFFmpeg.o"
> !
>                  FFMPEG_LOCAL_CPPSYMBOLS="USE_FFMPEG"
>          { echo "$as_me:$LINENO: FFmpeg headers are available in the
> local tree" >&5
>  echo "$as_me: FFmpeg headers are available in the local tree" >&6;}
>       fi
>     fi
> *** audacity/src/Project.cpp    Fri Jun 27 01:44:58 2008
> --- ../cvs/audacity/src/Project.cpp    Tue Jul  1 10:26:35 2008
> ***************
> *** 486,496 ****
>     VSBarID,
>     TrackPanelID
>  };
>
> ! //also in ODManager.cpp
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
>
>  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
>      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
>      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
> --- 486,499 ----
>     VSBarID,
>     TrackPanelID
>  };
>
> ! // also in ODManager.cpp resp. ODTask.cpp
> ! // (should be rather in a header file)
> ! BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
> + END_DECLARE_EVENT_TYPES()
>
>  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
>      EVT_MENU_OPEN(AudacityProject::OnMenuEvent)
>      EVT_MENU_CLOSE(AudacityProject::OnMenuEvent)
> *** audacity/src/ondemand/ODManager.cpp    Fri Jun 27 01:44:59 2008
> --- ../cvs/audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:35:25 2008
> ***************
> *** 22,30 ****
> --- 22,33 ----
>  bool sHasLoadedOD=false;
>
>
>
> + BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
> + END_DECLARE_EVENT_TYPES()
> +
>  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
>
>  //private constructor - Singleton.
>  ODManager::ODManager()
> ***************
> *** 330,334 ****
>  bool ODManager::HasLoadedODFlag()
>  {
>     return sHasLoadedOD;
>  }
> !  \ No newline at end of file
> --- 333,342 ----
>  bool ODManager::HasLoadedODFlag()
>  {
>     return sHasLoadedOD;
>  }
> !
> !
> !
> !
> !
> !  *** audacity/src/ondemand/ODTask.cpp    Sun Jun 22 21:25:30 2008
> --- ../cvs/audacity/src/ondemand/ODTask.cpp    Tue Jul  1 10:38:17 2008
> ***************
> *** 23,31 ****
> --- 23,34 ----
>  #include <wx/wx.h>
>  #include "../Project.h"
>
>
> + BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
> + END_DECLARE_EVENT_TYPES()
> +
>  DEFINE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE)
>
>  /// Constructs an ODTask
>  ODTask::ODTask()
> ***************
> *** 136,140 ****
>  ///return
>  bool ODTask::IsComplete()
>  {
>     return PercentComplete() >= 1.0;
> ! }
> \ No newline at end of file
> --- 139,147 ----
>  ///return
>  bool ODTask::IsComplete()
>  {
>     return PercentComplete() >= 1.0;
> ! }
> !
> !
> !
> !
> *** audacity/lib-src/allegro/Makefile    Tue Jul  1 03:55:44 2008
> --- audacity/lib-src/allegro/Makefile.new    Tue Jul  1 17:59:06 2008
> ***************
> *** 11,14 ****
> --- 11,15 ----
>      allegro.cpp.o \
>      allegrord.cpp.o \
> +     allegrosmfrd.cpp.o \
>      allegrowr.cpp.o \
>      mfallegro.cpp.o \
> *** audacity/lib-src/allegro/Makefile.in    Wed Jan 23 06:03:10 2008
> --- audacity/lib-src/allegro/Makefile.in.new    Tue Jul  1 17:58:19 2008
> ***************
> *** 11,14 ****
> --- 11,15 ----
>      allegro.cpp.o \
>      allegrord.cpp.o \
> +     allegrosmfrd.cpp.o \
>      allegrowr.cpp.o \
>      mfallegro.cpp.o \
> *** audacity/src/FreqWindow.cpp    Sat Jun 28 23:10:52 2008
> --- ../cvs/audacity/src/FreqWindow.cpp    Tue Jul  1 01:02:00 2008
> ***************
> *** 388,395 ****
> --- 388,397 ----
>     memDC.SetPen(*wxBLACK_PEN);
>     memDC.SetBrush(*wxWHITE_BRUSH);
>     memDC.DrawRectangle(r);
>
> + // Hack for Cygwin, where it happens to be #defined to DrawTextA
> + #undef DrawText
>     if (!mProcessed) {
>        if (mData && mDataLen < mWindowSize)
>           memDC.DrawText(_("Not enough data selected."), r.x + 5, r.y + 5);
>
> *** audacity/src/export/Export.cpp    Sun Jun 29 08:14:11 2008
> --- ../cvs/audacity/src/export/Export.cpp    Tue Jul  1 01:50:25 2008
> ***************
> *** 885,893 ****
> --- 885,905 ----
>        memDC.SetPen( mSelectedTrack == i ? *wxRED_PEN : *wxBLACK_PEN );
>        memDC.DrawRectangle( mTrackRects[ i ] );
>
>        memDC.GetTextExtent( mTrackNames[ i ], &w, &h );
> +
> +
> + // ----------------------------------------------------------------
> + // There is a problem with DrawText versus DrawTextA on cygwin.
> + // Contrary to  FreqWindow.cpp:392nn, it is reversed for this file!
> + // Here I 'need' DrawTextA to make it compile.
> +      +      + #ifdef __CYGWIN__
> +       memDC.DrawTextA( mTrackNames[ i ],
> + #else
>        memDC.DrawText( mTrackNames[ i ],
> + #endif
>              mTrackRects[ i ].x + ( mBoxWidth - w ) / 2,
>              mTrackRects[ i ].y + ( mTrackHeight - h ) / 2 );
>     }
>
> ***************
> *** 912,920 ****
> --- 924,936 ----
>
>        memDC.SetPen( mSelectedChannel == i ? *wxRED_PEN : *wxBLACK_PEN );
>        memDC.DrawRectangle( mChannelRects[ i ] );
>       + #ifdef __CYGWIN__
> +       memDC.DrawTextA( wxString::Format( _( "Channel: %2d" ), i + 1 ),
> + #else
>        memDC.DrawText( wxString::Format( _( "Channel: %2d" ), i + 1 ),
> + #endif
>              mChannelRects[ i ].x + ( mBoxWidth - w ) / 2,
>              mChannelRects[ i ].y + ( mChannelHeight - h ) / 2 );
>     }
>   *** audacity/src/Menus.cpp    Sun Jun 29 23:00:07 2008
> --- ../cvs/audacity/src/Menus.cpp    Tue Jul  1 01:08:27 2008
> ***************
> *** 29,36 ****
> --- 29,40 ----
>  simplifies construction of menu items.
>
>  *//*******************************************************************/
>
> + // hack for Cygwin:
> + //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int
> clash with gethostname.
> + #define __USE_W32_SOCKETS
> +
>  #include "Audacity.h"
>
>  #include <iterator>
>  #include <math.h>
> *** audacity/src/UploadDialog.cpp    Sun Jun  1 08:57:29 2008
> --- ../cvs/audacity/src/UploadDialog.cpp    Tue Jul  1 01:39:22 2008
> ***************
> *** 14,23 ****
> --- 14,33 ----
>  \class UploadDialog
>  \brief A contributed class for uploading audio via FTP.
>
>  *//*******************************************************************/
>
> + // hack for Cygwin:
> + //  defining either __USE_W32_SOCKETS or _WINSOCK_H avoids size_t/int
> clash
> + //  with gethostname in unistd.h included from Menu.cpp and WaveTrack.h
> + //  (Better place do define this might be UploadDialog.h, included
> from both ? Or more risky?)
> + //  (Or, is simply some include missing here?)
> + #ifdef __CYGWIN__
> + #define __USE_W32_SOCKETS
> + #endif
> +
> +
>  #include "Audacity.h"
>
>  #include <fstream>
>  #include <math.h>
>  #include <wx/dialog.h>
> *** audacity/src/Theme.cpp    Fri May 23 07:54:00 2008
> --- ../cvs/audacity/src/Theme.cpp    Tue Jul  1 01:17:02 2008
> ***************
> *** 929,937 ****
>        /// directory didn't exist, even if it successfully creates it.
>        /// so we create and then test if it exists instead.
>        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
>        /// under MSW
> ! #ifdef __WXMSW__
>        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
>  #else
>        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
>  #endif
> --- 929,937 ----
>        /// directory didn't exist, even if it successfully creates it.
>        /// so we create and then test if it exists instead.
>        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
>        /// under MSW
> ! #if defined(__WXMSW__) && !defined(__CYGWIN__)
>        wxMkDir( FileNames::ThemeComponentsDir().fn_str() );
>  #else
>        wxMkDir( FileNames::ThemeComponentsDir().fn_str(), 0700 );
>  #endif
> *** audacity/src/effects/NoiseRemoval.cpp    Tue Jun  3 09:16:41 2008
> --- ../cvs/audacity/src/effects/NoiseRemoval.cpp    Tue Jul  1 04:00:20
> 2008
> ***************
> *** 160,168 ****
>        /// directory didn't exist, even if it successfully creates it.
>        /// so we create and then test if it exists instead.
>        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
>        /// under MSW
> ! #ifdef __WXMSW__
>        wxMkDir( FileNames::NRPDir().fn_str() );
>  #else
>        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
>  #endif
> --- 160,168 ----
>        /// directory didn't exist, even if it successfully creates it.
>        /// so we create and then test if it exists instead.
>        /// \bug 2 in wxWidgets documentation; wxMkDir has only one argument
>        /// under MSW
> ! #if defined(__WXMSW__) && !defined(__CYGWIN__)
>        wxMkDir( FileNames::NRPDir().fn_str() );
>  #else
>        wxMkDir( FileNames::NRPDir().fn_str(), 0700 );
>  #endif
> *** audacity/src/WaveTrack.cpp    Thu Jun 26 17:00:48 2008
> --- ../cvs/audacity/src/WaveTrack.cpp    Tue Jul  1 01:31:26 2008
> ***************
> *** 1931,1939 ****
> --- 1931,1944 ----
>           {
>              delete newClip;
>              return false;
>           }
> + // on Cygwin there is no llrint. (Though, Mingw knows llrint !)
> + #ifdef __CYGWIN__
> +          longSampleCount here =        floor(((t - c->GetStartTime() -
> mOffset) * mRate) + 0.5);
> + #else
>           longSampleCount here = llrint(floor(((t - c->GetStartTime() -
> mOffset) * mRate) + 0.5));
> + #endif
>           newClip->Offset((double)here/(double)mRate);
>           mClips.Append(newClip);
>           return true;
>        }
> *** audacity/src/ondemand/ODTaskThread.h    Mon Jun 16 00:24:05 2008
> --- ../cvs/audacity/src/ondemand/ODTaskThread.h    Tue Jul  1 01:58:26 2008
> ***************
> *** 20,28 ****
> --- 20,32 ----
>
>
>  #ifndef __AUDACITY_ODTASKTHREAD__
>  #define __AUDACITY_ODTASKTHREAD__
> +
> + //vector not needed and does not compile on Cygwin
> + #ifndef __CYGWIN__
>  #include <vector>
> + #endif
>  #include <wx/thread.h>
>
>  class ODTask;
>
> *** audacity/src/effects/EffectCategory.h    Mon Jun 23 18:18:13 2008
> --- ../cvs/audacity/src/effects/EffectCategory.h    Mon Jun 30 13:17:19
> 2008
> ***************
> *** 21,29 ****
>  #ifndef __AUDACITY_EFFECTCATEGORY__
>  #define __AUDACITY_EFFECTCATEGORY__
>
>  #include <set>
> ! #include <vector>
>
>  #include <wx/string.h>
>
>  #include "Effect.h"
> --- 21,29 ----
>  #ifndef __AUDACITY_EFFECTCATEGORY__
>  #define __AUDACITY_EFFECTCATEGORY__
>
>  #include <set>
> ! //#include <vector>
>
>  #include <wx/string.h>
>
>  #include "Effect.h"
> *** audacity/src/Makefile    Tue Jul  1 11:45:33 2008
> --- audacity/src/Makefile.vimbak    Tue Jul  1 04:22:16 2008
> ***************
> *** 20,26 ****
>  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a
> libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a
> libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a
> liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a
> portmixer/libportmixer.a
>  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a
> ../lib-src/portmixer/libportmixer.a
>  EXTRATARGETS =
> ! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8
> -lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8
> -lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8
> -lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
> -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32
> -lwinmm    -lwinmm -lm -lz
>  DIRS=blockfile commands effects effects/ladspa effects/nyquist
> effects/vamp export import prefs toolbars widgets xml
>
>  srcdir=.
> --- 20,26 ----
>  LOCAL_LIBS =  allegro.a FileDialog.a libvorbisenc.a libvorbisfile.a
> libvorbis.a libogg.a libmad.a libsndfile.a libFLAC++.a libFLAC.a
> libid3tag.a libresample.a libSoundTouch.a libvamp-hostsdk.a libtwolame.a
> liblrdf.a libraptor.a portaudio-v19/lib/libportaudio.a
> portmixer/libportmixer.a
>  EXTRAOBJS =  ../lib-src/portaudio-v19/lib/libportaudio.a
> ../lib-src/portmixer/libportmixer.a
>  EXTRATARGETS =
> ! LIBS =  -L/usr/local/lib -lwx_msw_richtext-2.8 -lwx_msw_aui-2.8
> -lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8
> -lwx_msw_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8
> -lexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
> -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32
> -lwinmm    -lwinmm -lm
>  DIRS=blockfile commands effects effects/ladspa effects/nyquist
> effects/vamp export import prefs toolbars widgets xml
>
>  srcdir=.
> *** audacity/configure.in    Thu Jun 26 17:20:39 2008
> --- ../cvs/audacity/configure.in    Mon Jun 30 18:08:12 2008
> ***************
> *** 541,548 ****
> --- 541,549 ----
>           LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
>           LIBS="-framework CoreAudio $LIBS -lz"
>           ;;
>        cygwin*)
> +          LIBS="$LIBS -lz"
>           ;;
>        *)
>           dnl Unix
>           AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
> ***************
> *** 577,584 ****
> --- 578,586 ----
>           ;;
>        cygwin*)
>           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_win_wmme/portaudio.a"
>           EXTRAOBJS="$EXTRAOBJS
> ../lib-src/portaudio/pa_win_wmme/portaudio.a"
> +          # needed also??  LIBS="$LIBS -lz"
>           ;;
>        *)
>           dnl Unix
>           LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_unix_oss/portaudio.a"
> *** audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:44:04 2008
> --- ../cvs/audacity/src/ondemand/ODManager.cpp    Tue Jul  1 10:49:52 2008
> ***************
> *** 20,35 ****
>  bool gManagerCreated=false;
>  /// a flag that is set if we have loaded some OD blockfiles from PCM.
>  bool sHasLoadedOD=false;
>
>
> !
>  BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
>  END_DECLARE_EVENT_TYPES()
>
>  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
>
>  //private constructor - Singleton.
>  ODManager::ODManager()
>  {
>     mTerminate = false;
> --- 20,36 ----
>  bool gManagerCreated=false;
>  /// a flag that is set if we have loaded some OD blockfiles from PCM.
>  bool sHasLoadedOD=false;
>
>
> ! #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
>  BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
>  END_DECLARE_EVENT_TYPES()
>
>  DEFINE_EVENT_TYPE(wxEVT_ODTASK_UPDATE)
> + #endif
>
>  //private constructor - Singleton.
>  ODManager::ODManager()
>  {
>     mTerminate = false;
> ***************
> *** 199,218 ****
> --- 200,221 ----
>        mQueuesMutex.Lock();
>        mNeedsDraw += mQueues.size()>0?1:0;
>        mQueuesMutex.Unlock();
>  //      //      //TODO:this is a little excessive, in the future only
> redraw some, and if possible only the Tracks on the trackpanel..
> + #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
>        if(mNeedsDraw > 18)
>        {
>           mNeedsDraw=0;
>           wxCommandEvent event( wxEVT_ODTASK_UPDATE );
>           AudacityProject::AllProjectsDeleteLock();
>           AudacityProject* proj = GetActiveProject();
>           if(proj)
>              proj->AddPendingEvent( event );
>           AudacityProject::AllProjectsDeleteUnlock();
>        }  + #endif
>     }
>     mTerminateMutex.Unlock();
>           //wxLogDebug Not thread safe.
> *** audacity/src/Project.cpp    Tue Jul  1 10:44:03 2008
> --- ../cvs/audacity/src/Project.cpp    Tue Jul  1 11:01:51 2008
> ***************
> *** 490,497 ****
> --- 490,499 ----
>  // also in ODManager.cpp resp. ODTask.cpp
>  // (should be rather in a header file)
> + #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
>  BEGIN_DECLARE_EVENT_TYPES()
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_UPDATE, -1)
>  DECLARE_EVENT_TYPE(wxEVT_ODTASK_COMPLETE, -1)
>  END_DECLARE_EVENT_TYPES()
> + #endif
>  BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
> ***************
> *** 515,520 ****
> --- 517,524 ----
>      EVT_COMMAND(wxID_ANY, EVT_CAPTURE_KEYBOARD,
> AudacityProject::OnCaptureKeyboard)
>      EVT_COMMAND(wxID_ANY, EVT_RELEASE_KEYBOARD,
> AudacityProject::OnReleaseKeyboard)
> + #if !defined(__CYGWIN__) || defined(ODTASK_WORKS_ON_CYGWIN)
>      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_UPDATE,
> AudacityProject::OnODTaskUpdate)
>      EVT_COMMAND  (wxID_ANY, wxEVT_ODTASK_COMPLETE,
> AudacityProject::OnODTaskComplete)
> + #endif   END_EVENT_TABLE()
>
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Audacity-devel mailing list
> Audacity-devel@...
> https://lists.sourceforge.net/lists/listinfo/audacity-devel

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Audacity-devel mailing list
Audacity-devel@...
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Richard Ash (audacity-help)
Re: build problems
Reply Threaded More
Print post
Permalink
On Thu, 2008-07-03 at 09:17 +0200, Jan Kolar wrote:
> I had several build problems.
> Since two of them appeared also to other people, I decided put an info
> here.
>
> On Cygwin, the patches below made it built.
> (I think I also had to disable nyquist, I mean --disable, not
> --without).

A number of these are now obsolete due to other changes in audacity
since then. Unified diff patches would be significantly easier to read,
and of course you never patch configure - you patch either configure.in
or acinclude.m4 then run autoreconf to rebuild configure.

Other developers, especially GSoC people, please check there isn't
something related to your code in here.

In detail:

* p2_AUDACITY_DLL_API_Audacity_h.patch
Correct magic should now be in Audacity.h to use MS-style visibility
constructs with GCC (weird!) on cygwin.

* p4_BeginEnd-DeclareEventType__OD.patch
There is certainly something odd about the current usage of
END_DECLARE_EVENT_TYPES() and friends in these files. Micheal, please
review. I agree if we have to define the same event type multiple times,
we should do it in one place and #include the file as needed.

* cygwinHack2b_size_t_int_gethostname_UploadDialog_cpp.patch
* cygwinHack2_size_t_int_gethostname_Menus_cpp.patch
Can this bit of logic be moved a load closer to the source of the
problem? In both cases it's put before #include "Audacity.h", which I'm
sure doesn't know anything about either __USE_W32_SOCKETS or _WINSOCK_H.
I presume the problem is that at some point some header we use (probably
a WX one) includes the Windows header files with the bug in them. If so,
then the logic needs to go as close to that header include as possible
(if it can't go in the wx headers, then in our header immediately before
the offending wx header).

* cygwinHack4_llrint_WaveTrack.cpp.patch. Fine that you don't have
llrint(). Not a good idea to just remove it and replace with a no-op. If
you can't use llrint() then some sort of other rounding will be needed
as a replacement. There will probably also want to be a better way of
deciding whether or not to use the replacement (i.e. a configure check
and symbol) so that when Cygwin actually has a compliant C library we
stop using the replacement functions. You might like to look at
lib-src/libsndfile/float_cast.h for some inspiration.

* cygwinHack3b_MkDirMode_NoiseRemoval_cpp.patch
* cygwinHack3_MkDirMode_Theme_cpp.patch
Can someone using VC++ check whether the noted bug with wxwidgets still
applies? According to the current docs all platforms should have the
two-argument form of MkDirMode(), in which case we can remove the
conditional compilation altogether.

* cygwinHack5_vector_ODTaskThread_h.patch
* cygwinHack5b_vector_EffectCategory_h.patch
As far as I can see the #include of <vector> is redundant in both these
files and could be removed for all platforms. Either author care to
disagree?

Richard


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
audacity-devel mailing list
audacity-devel@...
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Lars Luthman-3
Re: build problems
Reply Threaded More
Print post
Permalink
On Sun, 2008-07-06 at 17:38 +0100, Richard Ash wrote:
> * cygwinHack5_vector_ODTaskThread_h.patch
> * cygwinHack5b_vector_EffectCategory_h.patch
> As far as I can see the #include of <vector> is redundant in both these
> files and could be removed for all platforms. Either author care to
> disagree?

Nope, looks like it isn't used in EffectCategory.h. I'll remove it in my
next commit unless someone else beats me to it.


--ll


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
audacity-devel mailing list
audacity-devel@...
https://lists.sourceforge.net/lists/listinfo/audacity-devel

signature.asc (196 bytes) Download Attachment
Richard Ash (audacity-help)
Re: build problems
Reply Threaded More
Print post
Permalink
On Mon, 2008-07-07 at 18:24 +0200, Lars Luthman wrote:
> On Sun, 2008-07-06 at 17:38 +0100, Richard Ash wrote:
> > * cygwinHack5_vector_ODTaskThread_h.patch
> > * cygwinHack5b_vector_EffectCategory_h.patch
> > As far as I can see the #include of <vector> is redundant in both these
> > files and could be removed for all platforms. Either author care to
> > disagree?
>
> Nope, looks like it isn't used in EffectCategory.h. I'll remove it in my
> next commit unless someone else beats me to it.
Thanks. Anyone else had a chance to look at their bits of this yet?

Richard


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
audacity-devel mailing list
audacity-devel@...
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Michael Chinen
Re: build problems
Reply Threaded More
Print post
Permalink
2008/7/7 Richard Ash <richard@...>:
&