diff --git a/src/effects/ladspa/LoadLadspa.cpp b/src/effects/ladspa/LoadLadspa.cpp
index 5758b1f..f15c23a 100644
--- a/src/effects/ladspa/LoadLadspa.cpp
+++ b/src/effects/ladspa/LoadLadspa.cpp
@@ -292,10 +292,10 @@ void LoadLadspaPlugins()
    wxGetApp().AddUniquePathToPathList(wxT(LIBDIR) wxT("/ladspa"), pathList);
    #endif
 
-   #ifdef __WXMAC__
+//    #ifdef __WXMAC__
    wxGetApp().AddUniquePathToPathList(wxT("~/Library/Audio/Plug-Ins/LADSPA"), pathList);
    wxGetApp().AddUniquePathToPathList(wxT("/Library/Audio/Plug-Ins/LADSPA"), pathList);
-   #endif
+//    #endif
 
    for(i=0; i<audacityPathList.GetCount(); i++) {
       wxString prefix = audacityPathList[i] + wxFILE_SEP_PATH;
diff --git a/src/Audacity.h b/src/Audacity.h
index 16a5fb9..9d09d96 100644
--- a/src/Audacity.h
+++ b/src/Audacity.h
@@ -74,20 +74,20 @@ void QuitAudacity();
 // platform-specific conditionals everywhere we want to check it.
 #define PLATFORM_MAX_PATH 260 // Play it safe for default, with same value as Windows' MAX_PATH.

-#ifdef __WXMAC__
+// #ifdef __WXMAC__
 #include "configmac.h"
 #undef PLATFORM_MAX_PATH
 #define PLATFORM_MAX_PATH PATH_MAX
-#endif
-
-#ifdef __WXGTK__
-#include "configunix.h"
-// Some systems do not restrict the path length and therefore PATH_MAX is undefined
-#ifdef PATH_MAX
-#undef PLATFORM_MAX_PATH
-#define PLATFORM_MAX_PATH PATH_MAX
-#endif
-#endif
+// #endif
+
+// #ifdef __WXGTK__
+// #include "configunix.h"
+// // Some systems do not restrict the path length and therefore PATH_MAX is undefined
+// #ifdef PATH_MAX
+// #undef PLATFORM_MAX_PATH
+// #define PLATFORM_MAX_PATH PATH_MAX
+// #endif
+// #endif

 #ifdef __WXX11__
 #include "configunix.h"
diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp
index e0277ca..78e535d 100644
--- a/src/AudacityApp.cpp
+++ b/src/AudacityApp.cpp
@@ -938,24 +938,24 @@ void AudacityApp::InitLang( const wxString & lang )
 //
 //     2013-09-13:  I've checked this again and it is still required.  Still
 //                  no idea why.
-#if defined(__WXMAC__)
+// #if defined(__WXMAC__)
    wxString oldval;
    bool existed;

    existed = wxGetEnv(wxT("LANG"), &oldval);
    wxSetEnv(wxT("LANG"), wxT("en_US"));
-#endif
+// #endif

    mLocale = new wxLocale(wxT(""), lang, wxT(""), true, true);

-#if defined(__WXMAC__)
+// #if defined(__WXMAC__)
    if (existed) {
       wxSetEnv(wxT("LANG"), oldval);
    }
    else {
       wxUnsetEnv(wxT("LANG"));
    }
-#endif
+// #endif

    for(unsigned int i=0; i<audacityPathList.GetCount(); i++)
       mLocale->AddCatalogLookupPathPrefix(audacityPathList[i]);
diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp
index 1e52a39..8eab51b 100644
--- a/src/AudioIO.cpp
+++ b/src/AudioIO.cpp
@@ -390,6 +390,8 @@ int compareTime( const void* a, const void* b );
 //
 //////////////////////////////////////////////////////////////////////

+#define __WXMAC__ 1
+
 #ifdef __WXMAC__

 // On Mac OS X, it's better not to use the wxThread class.
diff --git a/src/DirManager.cpp b/src/DirManager.cpp
index 097bfaa..1d8a5fd 100644
--- a/src/DirManager.cpp
+++ b/src/DirManager.cpp
@@ -104,6 +104,8 @@
 #include "prefs/PrefsDialog.h"
 #include "ondemand/ODManager.h"

+#define __WXMAC__
+
 #if defined(__WXMAC__)
 #include <mach/mach.h>
 #include <mach/vm_statistics.h>
diff --git a/src/FFmpeg.h b/src/FFmpeg.h
index d277ebe..59a05eb 100644
--- a/src/FFmpeg.h
+++ b/src/FFmpeg.h
@@ -302,7 +302,7 @@ public:
    {
       return (wxT("avutil-") wxT(AV_STRINGIFY(LIBAVUTIL_VERSION_MAJOR)) wxT(".dll"));
    }
-#elif defined(__WXMAC__)
+#elif defined(__WXMAC__) || defined(__APPLE__)
    /* Library names and file filters for Mac OS only */
    wxString GetLibraryTypeString()
    {
diff --git a/src/FileFormats.cpp b/src/FileFormats.cpp
index bfdce00..0571922 100644
--- a/src/FileFormats.cpp
+++ b/src/FileFormats.cpp
@@ -237,7 +237,7 @@ wxArrayString sf_get_all_extensions()
    return exts;
 }

-#ifdef __WXMAC__
+// #ifdef __WXMAC__

 // TODO: find out the appropriate OSType
 // for the ones with an '????'.  The others
@@ -272,4 +272,4 @@ OSType sf_header_mactype(int format)
       return '\?\?\?\?';
 }

-#endif // __WXMAC__
+// #endif // __WXMAC__
diff --git a/src/FileFormats.h b/src/FileFormats.h
index 5bab39b..7ec96ed 100644
--- a/src/FileFormats.h
+++ b/src/FileFormats.h
@@ -100,12 +100,12 @@ wxArrayString sf_get_all_extensions();
 // Mac OS 4-char type
 //

-#ifdef __WXMAC__
-# ifdef __UNIX__
+// #ifdef __WXMAC__
+// # ifdef __UNIX__
 #  include <CoreServices/CoreServices.h>
-# else
-#  include <Types.h>
-# endif
+// # else
+// #  include <Types.h>
+// # endif

 OSType sf_header_mactype(int format);
-#endif
+// #endif
diff --git a/src/FileIO.cpp b/src/FileIO.cpp
index 9f98cb1..dc1ac3d 100644
--- a/src/FileIO.cpp
+++ b/src/FileIO.cpp
@@ -75,7 +75,7 @@ void FileIO::Close()

 void FileIO::SetCatalogInfo()
 {
-#ifdef __WXMAC__
+// #ifdef __WXMAC__
    if (!mOpen ) {
       return;
    }
@@ -90,7 +90,7 @@ void FileIO::SetCatalogInfo()
           (ext[3] & 0xff);

    SetCatalogInfo(type);
-#endif
+// #endif

    return;
 }
diff --git a/src/Internat.h b/src/Internat.h
index 1a03060..e78e704 100644
--- a/src/Internat.h
+++ b/src/Internat.h
@@ -93,7 +93,7 @@ private:
 // See VerifyFilename() for an explanation.
 #define OSINPUT(X) Internat::VerifyFilename(X, true)
 #define OSOUTPUT(X) Internat::VerifyFilename(X, false)
-#elif defined(__WXMAC__)
+#elif 1 || defined(__WXMAC__)
 #define OSFILENAME(X) ((char *) (const char *)(X).fn_str())
 #define OSINPUT(X) OSFILENAME(X)
 #define OSOUTPUT(X) OSFILENAME(X)
diff --git a/src/LabelDialog.cpp b/src/LabelDialog.cpp
index 1a251c8..34cd049 100644
--- a/src/LabelDialog.cpp
+++ b/src/LabelDialog.cpp
@@ -592,13 +592,13 @@ void LabelDialog::OnExport(wxCommandEvent & WXUNUSED(event))
    }

    wxTextFile f(fName);
-#ifdef __WXMAC__
+// #ifdef __WXMAC__
    wxFile *temp = new wxFile();
    temp->Create(fName);
    delete temp;
-#else
-   f.Create();
-#endif
+// #else
+//    f.Create();
+// #endif
    f.Open();
    if (!f.IsOpened()) {
       wxMessageBox(_("Couldn't write to file: ") + fName);
@@ -619,11 +619,11 @@ void LabelDialog::OnExport(wxCommandEvent & WXUNUSED(event))
    lt->Export(f);
    delete lt;

-#ifdef __WXMAC__
+// #ifdef __WXMAC__
    f.Write(wxTextFileType_Mac);
-#else
-   f.Write();
-#endif
+// #else
+//    f.Write();
+// #endif
    f.Close();
 }

diff --git a/src/Prefs.cpp b/src/Prefs.cpp
index 5702ca8..ee9aa40 100644
--- a/src/Prefs.cpp
+++ b/src/Prefs.cpp
@@ -65,13 +65,13 @@

 #include "sndfile.h"

-#ifdef __WXMAC__
+// #ifdef __WXMAC__
 #include <CoreServices/CoreServices.h>

 /* prototype of MoreFiles fn, included in wxMac already */
 pascal OSErr FSpGetFullPath(const FSSpec * spec,
                             short *fullPathLength, Handle * fullPath);
-#endif
+// #endif

 #include "Prefs.h"

diff --git a/src/Project.cpp b/src/Project.cpp
index eab0226..8a6ba11 100644
--- a/src/Project.cpp
+++ b/src/Project.cpp
@@ -84,10 +84,10 @@ scroll information.  It also has some status flags.

 #include <wx/arrimpl.cpp>       // this allows for creation of wxObjArray

-#if defined(__WXMAC__)
+// #if defined(__WXMAC__)
 #include <CoreServices/CoreServices.h>
-#include <wx/mac/private.h>
-#endif
+// #include <wx/mac/private.h>
+// #endif

 #include "Project.h"

diff --git a/src/effects/Contrast.cpp b/src/effects/Contrast.cpp
index c896556..358336d 100644
--- a/src/effects/Contrast.cpp
+++ b/src/effects/Contrast.cpp
@@ -502,13 +502,13 @@ void ContrastDialog::OnExport(wxCommandEvent & WXUNUSED(event))
       return;

    wxTextFile f(fName);
-#ifdef __WXMAC__
+// #ifdef __WXMAC__
    wxFile *temp = new wxFile();
    temp->Create(fName);
    delete temp;
-#else
-   f.Create();
-#endif
+// #else
+//    f.Create();
+// #endif
    f.Open();
    if (!f.IsOpened()) {
       wxMessageBox(_("Couldn't write to file: ") + fName);
@@ -590,11 +590,11 @@ void ContrastDialog::OnExport(wxCommandEvent & WXUNUSED(event))
    f.AddLine(wxT("==================================="));
    f.AddLine(wxT(""));

-#ifdef __WXMAC__
+// #ifdef __WXMAC__
    f.Write(wxTextFileType_Mac);
-#else
-   f.Write();
-#endif
+// #else
+//    f.Write();
+// #endif
    f.Close();
 }

diff --git a/src/effects/nyquist/Nyquist.cpp b/src/effects/nyquist/Nyquist.cpp
index 902c12a..a072fe9 100644
--- a/src/effects/nyquist/Nyquist.cpp
+++ b/src/effects/nyquist/Nyquist.cpp
@@ -1139,9 +1139,9 @@ void EffectNyquist::OSCallback()
    //       doesn't seem to make much of a difference in execution time.
    //
    //       So, yielding on the Mac only...
-#if defined(__WXMAC__)
+// #if defined(__WXMAC__)
    wxYieldIfNeeded();
-#endif
+// #endif
 }

 /**********************************************************/
diff --git a/src/export/ExportMP3.cpp b/src/export/ExportMP3.cpp
index 3c998bf..094fd1f 100644
--- a/src/export/ExportMP3.cpp
+++ b/src/export/ExportMP3.cpp
@@ -1443,12 +1443,14 @@ wxString MP3Exporter::GetLibraryPath()

 wxString MP3Exporter::GetLibraryName()
 {
-   return wxT("libmp3lame.so.0");
+//    return wxT("libmp3lame.so.0");
+   return wxT("libmp3lame.0.dylib");
 }

 wxString MP3Exporter::GetLibraryTypeString()
 {
-   return wxString(_("Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"));
+//    return wxString(_("Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"));
+   return wxString(_("Only libmp3lame.0.dylib|libmp3lame.0.dylib|Primary Shared Object files (*.dylib)|*.dylib|Extended Libraries (*.dylib*)|*.dylib*|All Files (*)|*"));
 }
 #endif

diff --git a/src/ondemand/ODManager.h b/src/ondemand/ODManager.h
index 1b23672..4ba3e1d 100644
--- a/src/ondemand/ODManager.h
+++ b/src/ondemand/ODManager.h
@@ -25,7 +25,7 @@ number of threads.
 #include <wx/thread.h>
 #include <wx/wx.h>

-#ifdef __WXMAC__
+#if defined(__WXMAC__) || defined(__APPLE__)
 // On Mac OS X, it's better not to use the wxThread class.
 // We use our own implementation based on pthreads instead.
 #include <pthread.h>
@@ -165,7 +165,7 @@ class ODManager
    ODLock         mQueueNotEmptyCondLock;
    ODCondition*   mQueueNotEmptyCond;

-#ifdef __WXMAC__
+#if defined(__WXMAC__) || defined(__APPLE__)

 // On Mac OS X, it's better not to use the wxThread class.
 // We use our own implementation based on pthreads instead.
diff --git a/src/ondemand/ODTaskThread.h b/src/ondemand/ODTaskThread.h
index 4ca5331..859c809 100644
--- a/src/ondemand/ODTaskThread.h
+++ b/src/ondemand/ODTaskThread.h
@@ -27,7 +27,7 @@

 class ODTask;

-#ifdef __WXMAC__
+#if defined(__WXMAC__) || defined(__APPLE__)

 // On Mac OS X, it's better not to use the wxThread class.
 // We use our own implementation based on pthreads instead.
@@ -54,12 +54,8 @@ class ODTaskThread {
    }
    static void *callback(void *p) {
       ODTaskThread *th = (ODTaskThread *)p;
-#if defined(__WXMAC__)
       /*return (void *)*/ th->Entry();
       return NULL;
-#else
-      return (void *) th->Entry();
-#endif
    }
    void Run() {
       pthread_create(&mThread, NULL, callback, this);
diff --git a/src/ondemand/ODTaskThread.cpp b/src/ondemand/ODTaskThread.cpp
index fd92a40..df32d02 100644
--- a/src/ondemand/ODTaskThread.cpp
+++ b/src/ondemand/ODTaskThread.cpp
@@ -20,6 +20,7 @@
 #include "ODTask.h"
 #include "ODManager.h"

+#define __WXMAC__

 ODTaskThread::ODTaskThread(ODTask* task)
 #ifndef __WXMAC__
diff --git a/src/prefs/RecordingPrefs.cpp b/src/prefs/RecordingPrefs.cpp
index 01e3db2..eca3341 100644
--- a/src/prefs/RecordingPrefs.cpp
+++ b/src/prefs/RecordingPrefs.cpp
@@ -65,11 +65,11 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S)
       S.TieCheckBox(_("Overdub: &Play other tracks while recording new one"),
                     wxT("/AudioIO/Duplex"),
                     true);
-#if defined(__WXMAC__)
+// #if defined(__WXMAC__)
       S.TieCheckBox(_("&Hardware Playthrough: Listen while recording or monitoring new track"),
                     wxT("/AudioIO/Playthrough"),
                     false);
-#endif
+// #endif
       S.TieCheckBox(_("&Software Playthrough: Listen while recording or monitoring new track"),
                     wxT("/AudioIO/SWPlaythrough"),
                     false);
--- a/src/lib-src/FileDialog/generic/FileDialogPrivate.cpp	2015-03-17 18:29:04.000000000 +0100
+++ b/lib-src/FileDialog/generic/FileDialogPrivate.cpp	2015-03-17 18:37:31.000000000 +0100
@@ -544,14 +544,14 @@
    wxListItem item;
    item.m_itemId = 0;
    item.m_col = 0;
-   
-#if (defined(__WINDOWS__) || defined(__DOS__) || defined(__WXMAC__) || defined(__OS2__)) && !defined(__WXWINCE__)
+
+// #if (defined(__WINDOWS__) || defined(__DOS__) || defined(__WXMAC__) || defined(__OS2__)) && !defined(__WXWINCE__)
    if ( IsTopMostDir(m_dirName) )
    {
       wxArrayString names, paths;
       wxArrayInt icons;
       size_t n, count = wxGetAvailableDrives(paths, names, icons);
-      
+
       for (n=0; n<count; n++)
       {
          FileData *fd = new FileData(paths[n], names[n], FileData::is_drive, icons[n]);
@@ -562,7 +562,7 @@
       }
    }
    else
-#endif // defined(__DOS__) || defined(__WINDOWS__)
+// #endif // defined(__DOS__) || defined(__WINDOWS__)
    {
       // Real directory...
       if ( !IsTopMostDir(m_dirName) && !m_dirName.empty() )
