diff --git a/.gitignore b/.gitignore index 2a97e597b..7d66839d9 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,7 @@ aegisub/conf.sh aegisub/desktop/aegisub.desktop aegisub/libaegisub/libaegisub-3.0.so.3 aegisub/reporter/reporter-3.0 +aegisub/src/aegisub aegisub/src/aegisub-3.0 aegisub/src/libresrc/bitmap.cpp aegisub/src/libresrc/bitmap.h diff --git a/aegisub/Makefile b/aegisub/Makefile index f3b80a6e8..d410b37b9 100644 --- a/aegisub/Makefile +++ b/aegisub/Makefile @@ -14,10 +14,10 @@ all: ; ifeq (yes, $(BUILD_DARWIN)) osx-bundle: - $(BIN_SHELL) tools/osx-bundle.sh "$(BUNDLE_STRING)" $(AEGISUB_VERSION_DATA) "$(BIN_WX_CONFIG)" DICT_DIR=$(DICT_DIR) + $(BIN_SHELL) tools/osx-bundle.sh "$(AEGISUB_COMMAND)" "$(BIN_WX_CONFIG)" DICT_DIR=$(DICT_DIR) osx-dmg: osx-bundle - $(BIN_SHELL) tools/osx-dmg.sh "$(BUNDLE_STRING)" "$(DMG_STRING)" + $(BIN_SHELL) tools/osx-dmg.sh "$(BUILD_VERSION_STRING)" osx-tinderbox-bundle: $(BIN_SHELL) tools/osx-bundle.sh "$(T_BUNDLE)" $(AEGISUB_VERSION_DATA) "$(BIN_WX_CONFIG)" DICT_DIR="$(DICT_DIR)" diff --git a/aegisub/Makefile.inc.in b/aegisub/Makefile.inc.in index 23705db3e..d37679cb5 100644 --- a/aegisub/Makefile.inc.in +++ b/aegisub/Makefile.inc.in @@ -11,7 +11,6 @@ HAVE_FFMS2 = @with_ffms2@ HAVE_LIBPULSE = @with_libpulse@ HAVE_LIBASS = @with_libass@ - ################### # PLATFORM SETTINGS ################### @@ -20,7 +19,6 @@ BUILD_DARWIN = @build_darwin@ BUILD_DEFAULT = @build_default@ BUILD_LINUX = @build_linux@ - ####### # FLAGS ####### @@ -34,22 +32,14 @@ CCACHE_ENV = CCACHE_SLOPPINESS=time_macros LIB_SHARED_LINK = -shared -Wl,-soname -Wl,$(LIB_SHARED_FULL) LIB_SHARED_LINK_OSX = -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -compatibility_version $(LIB_VERSION) -current_version $(LIB_VERSION) -Wl,-single_module -mmacosx-version-min=10.5 -install_name ${CURDIR}/$(LIB_SHARED_FULL) - ######### # STRINGS ######### AEGISUB_COMMAND = @AEGISUB_COMMAND@ -AEGISUB_VERSION_DATA = @AEGISUB_VERSION_DATA@ BUILD_DATE = @BUILD_DATE@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_TARNAME = aegisub-@BUILD_GIT_VERSION_STRING@ PACKAGE_DEBUG = @PACKAGE_DEBUG@ BUILD_VERSION_STRING = @BUILD_GIT_VERSION_STRING@ -# OS X -BUNDLE_STRING = @BUNDLE_STRING@ -DARWIN_ARCH = @DARWIN_ARCH@ -DMG_STRING = @DMG_STRING@ -GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ - ####### # PATHS @@ -74,7 +64,6 @@ P_ICON = @P_ICON@ P_DATA = $(P_DATAROOT)/aegisub/ P_DOC = $(P_DATAROOT)/doc/aegisub/ - ############### # LIBRARY FLAGS ############### @@ -129,7 +118,6 @@ LIBS_GCOV = @GCOV_LIBS@ CFLAGS_EFENCE = @EFENCE_CFLAGS@ CFLAGS_GCOV = @GCOV_CFLAGS@ - ########## # BINARIES ########## diff --git a/aegisub/Makefile.target b/aegisub/Makefile.target index bccfe9838..231e170a1 100644 --- a/aegisub/Makefile.target +++ b/aegisub/Makefile.target @@ -64,7 +64,7 @@ endif # INSTALL ######### ifeq (install, $(MAKECMDGOALS)) -INSTALL_LIB = $(addprefix $(P_LIB)/, $(LIB_SHARED) $(LIB_SHARED_FULL)) +INSTALL_LIB=$(addprefix $(P_LIB)/, $(LIB_SHARED) $(LIB_SHARED_FULL)) endif BIN_SINSTALL=$(BIN_INSTALL) @@ -103,8 +103,6 @@ ifdef DATA_SHARE_DOC done endif - - ############## # DISTRIBUTION ############## @@ -189,7 +187,5 @@ $(PRECOMPILED_HEADER_NAME).gch: $(PRECOMPILED_HEADER_NAME) $(CXX_ENV) $(BIN_CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header $< - - -include ($DEP) .SUFFIXES: diff --git a/aegisub/build/aegisub_vs2008/libaegisub_include_dir.vsprops b/aegisub/build/aegisub_vs2008/libaegisub_include_dir.vsprops index 04bbc734c..6debac38d 100644 --- a/aegisub/build/aegisub_vs2008/libaegisub_include_dir.vsprops +++ b/aegisub/build/aegisub_vs2008/libaegisub_include_dir.vsprops @@ -6,6 +6,6 @@ > diff --git a/aegisub/build/aegisub_vs2008/svn_rev_header_update.vsprops b/aegisub/build/aegisub_vs2008/svn_rev_header_update.vsprops index cb93b5cb6..b1e75242b 100644 --- a/aegisub/build/aegisub_vs2008/svn_rev_header_update.vsprops +++ b/aegisub/build/aegisub_vs2008/svn_rev_header_update.vsprops @@ -6,6 +6,6 @@ > diff --git a/aegisub/build/version.bat b/aegisub/build/version.bat index 25579c2fd..edafa77ce 100644 --- a/aegisub/build/version.bat +++ b/aegisub/build/version.bat @@ -1,5 +1,5 @@ cd %~dp0.. -sh build/version.sh . +sh build/version.sh .. if %ERRORLEVEL% NEQ 0 goto :fail goto :eof diff --git a/aegisub/build/version.sh b/aegisub/build/version.sh index a1c708e19..274d1b110 100755 --- a/aegisub/build/version.sh +++ b/aegisub/build/version.sh @@ -24,16 +24,24 @@ fi last_svn_revision=6962 last_svn_hash="2289c084f28d9923989e1b58b81332347130ea78" -git_branch="$(git symbolic-ref HEAD 2> /dev/null)" || git_branch="(unnamed branch)" -git_branch="${git_branch##refs/heads/}" git_revision=$(expr $last_svn_revision + $(git log --pretty=oneline $last_svn_hash..HEAD 2>/dev/null | wc -l)) -git_hash=$(git rev-parse --short HEAD) +git_version_str=$(git describe --exact-match 2> /dev/null) +if test x$git_version_str != x; then + git_version_str="${git_version_str##v}" + tagged_release=1 +else + git_branch="$(git symbolic-ref HEAD 2> /dev/null)" || git_branch="(unnamed branch)" + git_branch="${git_branch##refs/heads/}" + git_hash=$(git rev-parse --short HEAD) -git_version_str="${git_revision}-${git_branch}-${git_hash}" + git_version_str="${git_revision}-${git_branch}-${git_hash}" + tagged_release=0 +fi new_version_h="\ #define BUILD_GIT_VERSION_NUMBER ${git_revision} -#define BUILD_GIT_VERSION_STRING \"${git_version_str}\"" +#define BUILD_GIT_VERSION_STRING \"${git_version_str}\" +#define TAGGED_RELEASE ${tagged_release}" # may not exist yet for out of tree builds mkdir -p build diff --git a/aegisub/configure.in b/aegisub/configure.in index 07409ad52..b1780ed0d 100644 --- a/aegisub/configure.in +++ b/aegisub/configure.in @@ -1,18 +1,5 @@ AC_PREREQ(2.57) -###################### -# aegisub version info -###################### -# MAKE SURE YOU UPDATE THE VERSION INFO BELOW WHEN YOU SET THIS TO '1' -m4_define([aegisub_FINAL_RELEASE], [0]) - -m4_define([aegisub_version_major], [3]) -m4_define([aegisub_version_minor], [0]) -m4_define([aegisub_version_revision], [0]) -m4_define([aegisub_version], [aegisub_version_major.aegisub_version_minor.aegisub_version_revision]) -m4_define([aegisub_version_data], [aegisub_version_major.aegisub_version_minor]) - - ################### # Required packages ################### @@ -49,13 +36,7 @@ build_bsd="no" build_default="no" AS_CASE([$host], - [ppc-*-* | powerpc-*], [arch_ppc="yes"; arch_bundle="ppc"; DARWIN_ARCH="ppc"], - [i*86-*-*], [arch_x86="yes"; arch_bundle="intel"; DARWIN_ARCH="intel"], - [x86_64-*-*], [arch_x86="yes"; arch_x86_64="yes"; DARWIN_ARCH="intel"], - []) - -AS_CASE([$host], - [*-*-darwin*], [build_darwin="yes"; AC_SUBST(DARWIN_ARCH)], + [*-*-darwin*], [build_darwin="yes"], [*-*-linux*], [build_linux="yes"], [*-*-*bsd*], [build_bsd="yes"], [build_default="yes"]) @@ -79,20 +60,13 @@ AC_C_BIGENDIAN( ######################## # Configurable variables ######################## -# These cannot be set before AC_INIT() -AEGISUB_VERSION_MAJOR=aegisub_version_major -AEGISUB_VERSION_MINOR=aegisub_version_minor -AEGISUB_VERSION=aegisub_version -# Used for gettext. -AEGISUB_VERSION_DATA=aegisub_version_data - -# Suffix used for data paths. -AC_DEFINE_UNQUOTED(AEGISUB_VERSION_DATA, ["$AEGISUB_VERSION_DATA"], [Data path suffix.]) -AC_SUBST(AEGISUB_VERSION_DATA) - # Name of aegisub binary. -AEGISUB_COMMAND="aegisub-$AEGISUB_VERSION_MAJOR.$AEGISUB_VERSION_MINOR" +# On OS X everything goes in an app bundle so no point in versioning the executable +AS_IF([test x$build_darwin = xyes], + [AEGISUB_COMMAND="aegisub"], + [AEGISUB_COMMAND="aegisub-3.0"]) AC_SUBST(AEGISUB_COMMAND) +AC_DEFINE_UNQUOTED([AEGISUB_COMMAND], ["${AEGISUB_COMMAND}"], [Name of the Aegisub executable]) # Handle location of desktop files: http://freedesktop.org/wiki/Specifications/desktop-entry-spec AC_ARG_WITH(desktop-dir, @@ -108,7 +82,6 @@ AC_ARG_WITH(icon-dir, P_ICON=${with_icon_dir:-$datarootdir/icons} AC_SUBST(P_ICON) - # Install prefix # If a user doesn't supply --prefix then it is set to NONE so we # set it to $ac_default_prefix if it hasn't been supplied. @@ -146,7 +119,6 @@ AC_PROG_INSTALL AC_PROG_RANLIB PKG_PROG_PKG_CONFIG([pkgconfig_required_version]) - ################# # Developers only ################# @@ -154,27 +126,10 @@ AC_MSG_CHECKING([for version]) . $srcdir/build/version.sh "$srcdir/.." AC_MSG_RESULT([$BUILD_GIT_VERSION_STRING $VERSION_SOURCE]) -# Release information. -AS_IF([test "aegisub_FINAL_RELEASE" = "1"], [ - AC_DEFINE([FINAL_RELEASE], [aegisub_FINAL_RELEASE], [This is only set to 1 for a RELEASE VERSION.]) - BUNDLE_STRING="${PACKAGE_NAME}" - DMG_STRING="${PACKAGE_NAME}-${PACKAGE_VERSION}-${arch_bundle}" -], [ - PACKAGE_STRING="${PACKAGE_STRING}-dev-r${BUILD_GIT_VERSION_NUMBER}" - PACKAGE_VERSION="${PACKAGE_VERSION}-dev-r${BUILD_GIT_VERSION_NUMBER}" - VERSION="${VERSION}-dev-r${BUILD_GIT_VERSION_NUMBER}" - - BUNDLE_STRING="${PACKAGE_NAME}-${PACKAGE_VERSION}" - DMG_STRING="${PACKAGE_NAME}-${PACKAGE_VERSION}-${arch_bundle}" -]) -PACKAGE_TARNAME="${PACKAGE_TARNAME}-${PACKAGE_VERSION}" - AC_MSG_CHECKING([for build date]) BUILD_DATE=`date "+%Y-%m-%d %H:%M %Z"` AC_MSG_RESULT($BUILD_DATE) -AC_SUBST(BUNDLE_STRING) -AC_SUBST(DMG_STRING) AC_SUBST([BUILD_GIT_VERSION_STRING]) AC_SUBST([BUILD_DATE]) @@ -603,14 +558,6 @@ AC_SUBST(enable_ccache) ############################## AM_GNU_GETTEXT([external]) -AS_IF([test x$build_darwin = xyes], - [GETTEXT_PACKAGE="aegisub"], - [GETTEXT_PACKAGE="aegisub${AEGISUB_VERSION_MAJOR}${AEGISUB_VERSION_MINOR}"]) - -AC_SUBST(GETTEXT_PACKAGE) -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", - [The basename for our gettext translation domains.]) - ################ # Update checker ################ diff --git a/aegisub/libaegisub/unix/path.cpp b/aegisub/libaegisub/unix/path.cpp index 27d9113f5..e30aeadce 100644 --- a/aegisub/libaegisub/unix/path.cpp +++ b/aegisub/libaegisub/unix/path.cpp @@ -63,10 +63,7 @@ std::string Path::Locale() { } std::string Path::Config() { - std::string tmp(home()); - tmp.append("/.aegisub-"); - tmp.append(AEGISUB_VERSION_DATA); - return tmp.append("/"); + return home() + "/.aegisub/"; } std::string Path::Temp() { diff --git a/aegisub/po/Makefile b/aegisub/po/Makefile index c121bca3b..b3af95010 100644 --- a/aegisub/po/Makefile +++ b/aegisub/po/Makefile @@ -38,8 +38,8 @@ all: $(MO) install: @$(BIN_MKDIR) -p $(addsuffix /LC_MESSAGES/, $(addprefix $(DESTDIR)$(P_LOCALE)/, $(basename $(PO)))) @for i in $(basename $(PO)); do \ - echo $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ - $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + echo $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(AEGISUB_COMMAND).mo; \ + $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(AEGISUB_COMMAND).mo; \ done diff --git a/aegisub/reporter/util.cpp b/aegisub/reporter/util.cpp index 9257c997a..f5c155057 100644 --- a/aegisub/reporter/util.cpp +++ b/aegisub/reporter/util.cpp @@ -34,9 +34,9 @@ std::string config_path() { wxStandardPathsBase &paths = wxStandardPaths::Get(); #if defined(__APPLE__) - return std::string((wxString::Format("%s-%s/", paths.GetUserDataDir(), _T(AEGISUB_VERSION_DATA)))); + return paths.GetUserDataDir().utf8_str().data(); #elif defined(__UNIX__) - return std::string(wxString::Format("%s/.aegisub-%s/", paths.GetUserConfigDir(), _T(AEGISUB_VERSION_DATA))); + return std::string(wxString::Format("%s/.aegisub/", paths.GetUserConfigDir())); #else return std::string(wxString::Format("%s/Aegisub/", paths.GetUserConfigDir())); #endif diff --git a/aegisub/src/Makefile b/aegisub/src/Makefile index 46eac5e8c..c2d559400 100644 --- a/aegisub/src/Makefile +++ b/aegisub/src/Makefile @@ -1,6 +1,6 @@ include ../Makefile.inc -PROGRAM = aegisub-3.0 +PROGRAM = $(AEGISUB_COMMAND) PROGRAM_INSTALL = yes PRECOMPILED_HEADER_NAME=agi_pre.h diff --git a/aegisub/src/aegisublocale.cpp b/aegisub/src/aegisublocale.cpp index 35004b5d9..b5c688320 100644 --- a/aegisub/src/aegisublocale.cpp +++ b/aegisub/src/aegisublocale.cpp @@ -65,7 +65,7 @@ void AegisubLocale::Init(int language) { locale->AddCatalogLookupPathPrefix(StandardPaths::DecodePath("?data/locale/")); locale->AddCatalog("aegisub"); #else - locale->AddCatalog(GETTEXT_PACKAGE); + locale->AddCatalog(AEGISUB_COMMAND); #endif locale->AddCatalog("wxstd"); @@ -170,7 +170,7 @@ wxArrayInt AegisubLocale::GetAvailableLanguages() { // If the locale file doesn't exist then don't list it as an option. wxString locDir = wxStandardPaths::Get().GetLocalizedResourcesDir(langs[i], wxStandardPathsBase::ResourceCat_Messages); - wxFileName file(wxString::Format("%s/%s.mo", locDir, GETTEXT_PACKAGE)); + wxFileName file(wxString::Format("%s/%s.mo", locDir, AEGISUB_COMMAND)); if (lang && file.FileExists()) final.Add(lang->Language); } #endif diff --git a/aegisub/src/config/config_windows0.h b/aegisub/src/config/config_windows0.h index e730cf88e..0237aadab 100644 --- a/aegisub/src/config/config_windows0.h +++ b/aegisub/src/config/config_windows0.h @@ -103,12 +103,6 @@ #define WITH_HUNSPELL -// Enable "final release" mode -// Displays different versions numbers in About box and title bar, and omits detailed version information from -// the title bar. Only core developers should enable then, and only when making builds for mass consumption. -//#define FINAL_RELEASE - - // Use FFTW instead of shipped FFT code // FFTW is a very fast library for computing the discrete fourier transform, but is a bit // tricky to get working on Windows, and has the additional problem of being GPL licensed. diff --git a/aegisub/src/version.cpp b/aegisub/src/version.cpp index 44697700c..47a2e0c4d 100644 --- a/aegisub/src/version.cpp +++ b/aegisub/src/version.cpp @@ -39,34 +39,24 @@ #include "version.h" #include "git_version.h" -// Define FINAL_RELEASE to mark a build as a "final" version, ie. not pre-release version -// In that case it won't include the SVN revision information -#ifdef FINAL_RELEASE - #define VERSION_NUMBER "3.0.0" - #define BUILD_CREDIT_SUFFIX "" - #define DEBUG_SUFFIX "" +#ifdef _DEBUG + #define DEBUG_SUFFIX " [DEBUG VERSION]" #else - #define VERSION_NUMBER BUILD_GIT_VERSION_STRING + #define DEBUG_SUFFIX "" +#endif - #ifdef _DEBUG - #define DEBUG_SUFFIX " [DEBUG VERSION]" - #else - #define DEBUG_SUFFIX "" - #endif - - #ifdef BUILD_CREDIT - #define BUILD_CREDIT_SUFFIX ", " BUILD_CREDIT - #else - #define BUILD_CREDIT_SUFFIX "" - #endif +#if defined(BUILD_CREDIT) && !TAGGED_RELEASE + #define BUILD_CREDIT_SUFFIX ", " BUILD_CREDIT +#else + #define BUILD_CREDIT_SUFFIX "" #endif const char *GetAegisubLongVersionString() { - return VERSION_NUMBER BUILD_CREDIT_SUFFIX DEBUG_SUFFIX; + return BUILD_GIT_VERSION_STRING BUILD_CREDIT_SUFFIX DEBUG_SUFFIX; } const char *GetAegisubShortVersionString() { - return VERSION_NUMBER DEBUG_SUFFIX; + return BUILD_GIT_VERSION_STRING DEBUG_SUFFIX; } const char *GetAegisubBuildTime() { @@ -82,15 +72,11 @@ const char *GetAegisubBuildCredit() { } bool GetIsOfficialRelease() { -#ifdef FINAL_RELEASE - return true; -#else return false; -#endif } const char *GetVersionNumber() { - return VERSION_NUMBER; + return BUILD_GIT_VERSION_STRING; } int GetSVNRevision() { diff --git a/aegisub/tools/osx-bundle.sh b/aegisub/tools/osx-bundle.sh index b5fbe8bc9..4ace932b0 100755 --- a/aegisub/tools/osx-bundle.sh +++ b/aegisub/tools/osx-bundle.sh @@ -2,12 +2,12 @@ set -e -PKG_DIR=${1}.app +PKG_DIR=Aegisub.app SKEL_DIR="packages/osx_bundle" -AEGISUB_BIN="aegisub-${2}" +AEGISUB_BIN="${1}" SRCDIR=`pwd` HOME_DIR=`echo ~` -WX_PREFIX=`${3} --prefix` +WX_PREFIX=`${2} --prefix` if test -z "${CC}"; then CC="cc" @@ -48,9 +48,9 @@ find po -name *.po | sed 's/.*\/\(.*\)\.po/ \1<\/string>/' > lang find ${SKEL_DIR} -type f -not -regex ".*.svn.*" cp ${SKEL_DIR}/Contents/Resources/*.icns "${PKG_DIR}/Contents/Resources" cp ${SKEL_DIR}/Contents/Resources/etc/fonts/fonts.dtd "${PKG_DIR}/Contents/Resources/etc/fonts" -cat ${SKEL_DIR}/Contents/Resources/etc/fonts/fonts.conf |sed -f tools/osx-bundle.sed > "${PKG_DIR}/Contents/Resources/etc/fonts/fonts.conf" +cat ${SKEL_DIR}/Contents/Resources/etc/fonts/fonts.conf | sed -f tools/osx-bundle.sed > "${PKG_DIR}/Contents/Resources/etc/fonts/fonts.conf" cp ${SKEL_DIR}/Contents/Resources/etc/fonts/conf.d/*.conf "${PKG_DIR}/Contents/Resources/etc/fonts/conf.d" -cat ${SKEL_DIR}/Contents/Info.plist |sed -f tools/osx-bundle.sed > "${PKG_DIR}/Contents/Info.plist" +cat ${SKEL_DIR}/Contents/Info.plist | sed -f tools/osx-bundle.sed > "${PKG_DIR}/Contents/Info.plist" rm languages diff --git a/aegisub/tools/osx-dmg.sh b/aegisub/tools/osx-dmg.sh index f5e41aaf8..dd55f58c1 100755 --- a/aegisub/tools/osx-dmg.sh +++ b/aegisub/tools/osx-dmg.sh @@ -14,10 +14,10 @@ # information. TMP_DMG="temp_dmg" -PKG_DIR="${1}.app" -PKG_NAME="${2}" -PKG_NAME_RW="${1}_rw.dmg" -PKG_NAME_VOLUME="${2}" +PKG_DIR="Aegisub.app" +PKG_NAME="Aegisub-${1}" +PKG_NAME_RW="Aegisub-${1}_rw.dmg" +PKG_NAME_VOLUME="Aegisub-${1}" if ! test -d "${PKG_DIR}"; then echo "\"${PKG_DIR}\" does not exist, please run 'make osx-bundle'"