Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 644748 | Differences between
and this patch

Collapse All | Expand All

(-)a/qmake/generators/makefile.cpp (-1 / +11 lines)
Lines 1088-1093 Link Here
1088
        int dot = ret.indexOf('.');
1088
        int dot = ret.indexOf('.');
1089
        if(dot != -1)
1089
        if(dot != -1)
1090
            ret.truncate(dot);
1090
            ret.truncate(dot);
1091
        if(!project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
1092
            if(ret.startsWith("cyg"))
1093
                ret = "lib" + ret.mid(3);
1094
            int dash = ret.indexOf('-');
1095
            if(dash != -1)
1096
                ret.truncate(dash);
1097
        }
1091
        ret += Option::prl_ext;
1098
        ret += Option::prl_ext;
1092
    }
1099
    }
1093
    if(!project->isEmpty("QMAKE_BUNDLE"))
1100
    if(!project->isEmpty("QMAKE_BUNDLE"))
Lines 3154-3164 Link Here
3154
        int slsh = ret.lastIndexOf(Option::dir_sep);
3161
        int slsh = ret.lastIndexOf(Option::dir_sep);
3155
        if (slsh != -1)
3162
        if (slsh != -1)
3156
            ret = ret.right(ret.length() - slsh - 1);
3163
            ret = ret.right(ret.length() - slsh - 1);
3157
        if (ret.startsWith("lib"))
3164
        if (ret.startsWith("lib") || ret.startsWith("cyg"))
3158
            ret = ret.mid(3);
3165
            ret = ret.mid(3);
3159
        int dot = ret.indexOf('.');
3166
        int dot = ret.indexOf('.');
3160
        if (dot != -1)
3167
        if (dot != -1)
3161
            ret = ret.left(dot);
3168
            ret = ret.left(dot);
3169
        int dash = ret.indexOf('-');
3170
        if (dash != -1)
3171
            ret = ret.left(dash);
3162
    }
3172
    }
3163
    ret += Option::pkgcfg_ext;
3173
    ret += Option::pkgcfg_ext;
3164
    QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
3174
    QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
(-)a/qmake/generators/unix/unixmake.cpp (-2 / +7 lines)
Lines 588-598 Link Here
588
        bundle = project->isActiveConfig("sliced_bundle") ? SlicedBundle : SolidBundle;
588
        bundle = project->isActiveConfig("sliced_bundle") ? SlicedBundle : SolidBundle;
589
    } else if(project->first("TEMPLATE") == "app") {
589
    } else if(project->first("TEMPLATE") == "app") {
590
        target = "$(QMAKE_TARGET)";
590
        target = "$(QMAKE_TARGET)";
591
        if(!project->isEmpty("QMAKE_CYGWIN_EXE") && !target.endsWith(".exe"))
592
            target += ".exe";
591
    } else if(project->first("TEMPLATE") == "lib") {
593
    } else if(project->first("TEMPLATE") == "lib") {
592
            if (!project->isActiveConfig("staticlib")
594
            if (!project->isActiveConfig("staticlib")
593
                    && !project->isActiveConfig("plugin")
595
                    && !project->isActiveConfig("plugin")
594
                    && !project->isActiveConfig("unversioned_libname")) {
596
                    && !project->isActiveConfig("unversioned_libname")) {
595
                if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
597
                if(project->isEmpty("QMAKE_HPUX_SHLIB") && project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
596
                    links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)";
598
                    links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)";
597
                } else {
599
                } else {
598
                    links << "$(TARGET0)";
600
                    links << "$(TARGET0)";
Lines 717-723 Link Here
717
                        link = link.right(link.length() - (lslash + 1));
719
                        link = link.right(link.length() - (lslash + 1));
718
                    QString dst_link = escapeFilePath(
720
                    QString dst_link = escapeFilePath(
719
                                filePrefixRoot(root, fileFixify(targetdir + link, FileFixifyAbsolute)));
721
                                filePrefixRoot(root, fileFixify(targetdir + link, FileFixifyAbsolute)));
720
                    ret += "\n\t-$(SYMLINK) $(TARGET) " + dst_link;
722
                    if(!project->isEmpty("QMAKE_CYGWIN_SHLIB"))
723
                        ret += "\n\t-$(INSTALL_FILE) \"" + destdir + "$(TARGET0)\" " + dst_link;
724
                    else
725
                        ret += "\n\t-$(SYMLINK) $(TARGET) " + dst_link;
721
                    if(!uninst.isEmpty())
726
                    if(!uninst.isEmpty())
722
                        uninst.append("\n\t");
727
                        uninst.append("\n\t");
723
                    uninst.append("-$(DEL_FILE) " + dst_link);
728
                    uninst.append("-$(DEL_FILE) " + dst_link);
(-)a/qmake/generators/unix/unixmake2.cpp (-5 / +35 lines)
Lines 180-186 Link Here
180
        const ProStringList &incs = project->values("INCLUDEPATH");
180
        const ProStringList &incs = project->values("INCLUDEPATH");
181
        for(int i = 0; i < incs.size(); ++i) {
181
        for(int i = 0; i < incs.size(); ++i) {
182
            const ProString &inc = incs.at(i);
182
            const ProString &inc = incs.at(i);
183
            if (inc.isEmpty())
183
            if ( (inc.isEmpty()) || (inc == "/usr/include") )
184
                continue;
184
                continue;
185
            if (!isystem.isEmpty() && isSystemInclude(inc.toQString()))
185
            if (!isystem.isEmpty() && isSystemInclude(inc.toQString()))
Lines 603-608 Link Here
603
            if(!project->isEmpty("QMAKE_POST_LINK"))
603
            if(!project->isEmpty("QMAKE_POST_LINK"))
604
                t << "\n\t" << var("QMAKE_POST_LINK");
604
                t << "\n\t" << var("QMAKE_POST_LINK");
605
            t << endl << endl;
605
            t << endl << endl;
606
        } else if(!project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
607
            t << "\n\t"
608
              << "-$(DEL_FILE) $(TARGET) $(TARGET0)" << "\n\t"
609
              << var("QMAKE_LINK_SHLIB_CMD") << "\n\t";
610
            if(!destdir.isEmpty())
611
              t  << "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t"
612
                 << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t"
613
                 << "-$(MOVE) $(TARGET) $(TARGET0) " << destdir;
606
        } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
614
        } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
607
            t << "\n\t";
615
            t << "\n\t";
608
616
Lines 1205-1210 Link Here
1205
        }
1213
        }
1206
        if(!project->isEmpty("TARGET"))
1214
        if(!project->isEmpty("TARGET"))
1207
            project->values("TARGET").first().prepend(project->first("DESTDIR"));
1215
            project->values("TARGET").first().prepend(project->first("DESTDIR"));
1216
        if(!project->isEmpty("QMAKE_CYGWIN_EXE"))
1217
            project->values("TARGET").first().append(".exe");
1208
    } else if (project->isActiveConfig("staticlib")) {
1218
    } else if (project->isActiveConfig("staticlib")) {
1209
        project->values("TARGET").first().prepend(project->first("QMAKE_PREFIX_STATICLIB"));
1219
        project->values("TARGET").first().prepend(project->first("QMAKE_PREFIX_STATICLIB"));
1210
        project->values("TARGET").first() += "." + project->first("QMAKE_EXTENSION_STATICLIB");
1220
        project->values("TARGET").first() += "." + project->first("QMAKE_EXTENSION_STATICLIB");
Lines 1237-1245 Link Here
1237
                project->values("TARGET_x.y").append(target);
1247
                project->values("TARGET_x.y").append(target);
1238
            }
1248
            }
1239
        } else if(project->isActiveConfig("plugin")) {
1249
        } else if(project->isActiveConfig("plugin")) {
1240
            QString prefix;
1250
            ProString prefix;
1241
            if(!project->isActiveConfig("no_plugin_name_prefix"))
1251
            if(!project->isActiveConfig("no_plugin_name_prefix")) {
1242
                prefix = "lib";
1252
                prefix = project->first("QMAKE_PREFIX_SHLIB");
1253
            }
1243
            project->values("TARGET_x.y.z").append(prefix +
1254
            project->values("TARGET_x.y.z").append(prefix +
1244
                                                        project->first("TARGET") + "." +
1255
                                                        project->first("TARGET") + "." +
1245
                                                        project->first("QMAKE_EXTENSION_PLUGIN"));
1256
                                                        project->first("QMAKE_EXTENSION_PLUGIN"));
Lines 1252-1257 Link Here
1252
                                                        project->first("QMAKE_EXTENSION_PLUGIN") +
1263
                                                        project->first("QMAKE_EXTENSION_PLUGIN") +
1253
                                                        "." + project->first("VER_MAJ"));
1264
                                                        "." + project->first("VER_MAJ"));
1254
            project->values("TARGET") = project->values("TARGET_x.y.z");
1265
            project->values("TARGET") = project->values("TARGET_x.y.z");
1266
        } else if (!project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
1267
            project->values("TARGET_").append("lib" + project->first("TARGET") + ".dll.a");
1268
            project->values("TARGET_x").append("cyg" + project->first("TARGET") + "-" +
1269
                                                    project->first("VER_MAJ") + "." + project->first("QMAKE_EXTENSION_SHLIB"));
1270
            project->values("TARGET") = project->values("TARGET_x");
1255
        } else if (!project->isEmpty("QMAKE_HPUX_SHLIB")) {
1271
        } else if (!project->isEmpty("QMAKE_HPUX_SHLIB")) {
1256
            project->values("TARGET_").append("lib" + project->first("TARGET") + ".sl");
1272
            project->values("TARGET_").append("lib" + project->first("TARGET") + ".sl");
1257
            if(project->isActiveConfig("lib_version_first"))
1273
            if(project->isActiveConfig("lib_version_first"))
Lines 1382-1387 Link Here
1382
                project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME");
1398
                project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME");
1383
        } else {
1399
        } else {
1384
            project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SHLIB");
1400
            project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SHLIB");
1401
            if(!project->isEmpty("QMAKE_CYGWIN_SHLIB"))
1402
                project->values("QMAKE_LFLAGS") += "-Wl,--out-implib,$(TARGET0)";
1385
            if(!project->isEmpty("QMAKE_LFLAGS_COMPAT_VERSION")) {
1403
            if(!project->isEmpty("QMAKE_LFLAGS_COMPAT_VERSION")) {
1386
                if(project->isEmpty("COMPAT_VERSION"))
1404
                if(project->isEmpty("COMPAT_VERSION"))
1387
                    project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") +
1405
                    project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") +
Lines 1419-1424 Link Here
1419
    int dot = ret.indexOf('.');
1437
    int dot = ret.indexOf('.');
1420
    if(dot != -1)
1438
    if(dot != -1)
1421
        ret = ret.left(dot);
1439
        ret = ret.left(dot);
1440
    if(!project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
1441
        if(ret.startsWith("cyg"))
1442
            ret = "lib" + ret.mid(3);
1443
        int dash = ret.indexOf('-');
1444
        if(dash != -1)
1445
            ret = ret.left(dash);
1446
    }
1422
    ret += Option::libtool_ext;
1447
    ret += Option::libtool_ext;
1423
    if(!project->isEmpty("QMAKE_LIBTOOL_DESTDIR"))
1448
    if(!project->isEmpty("QMAKE_LIBTOOL_DESTDIR"))
1424
        ret.prepend(project->first("QMAKE_LIBTOOL_DESTDIR") + Option::dir_sep);
1449
        ret.prepend(project->first("QMAKE_LIBTOOL_DESTDIR") + Option::dir_sep);
Lines 1460-1468 Link Here
1460
    if(project->isActiveConfig("plugin")) {
1485
    if(project->isActiveConfig("plugin")) {
1461
        t << fileVar("TARGET");
1486
        t << fileVar("TARGET");
1462
    } else {
1487
    } else {
1463
        if (project->isEmpty("QMAKE_HPUX_SHLIB"))
1488
        if (!project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
1489
            t << fileVar("TARGET_");
1490
        } else {
1491
        if (project->isEmpty("QMAKE_HPUX_SHLIB")) {
1464
            t << fileVar("TARGET_x.y.z") << ' ';
1492
            t << fileVar("TARGET_x.y.z") << ' ';
1493
        }
1465
        t << fileVar("TARGET_x") << ' ' << fileVar("TARGET_");
1494
        t << fileVar("TARGET_x") << ' ' << fileVar("TARGET_");
1495
        }
1466
    }
1496
    }
1467
    t << "'\n\n";
1497
    t << "'\n\n";
1468
1498
(-)a/src/3rdparty/forkfd/forkfd.c (+5 lines)
Lines 70-75 Link Here
70
#  undef HAVE_WAITID
70
#  undef HAVE_WAITID
71
#endif
71
#endif
72
72
73
#if defined(__CYGWIN__)
74
#  undef HAVE_WAITID
75
#  define HAVE_PIPE2	1
76
#endif
77
73
#if (defined(__FreeBSD__) && defined(__FreeBSD_version) && __FreeBSD_version >= 1000032) || \
78
#if (defined(__FreeBSD__) && defined(__FreeBSD_version) && __FreeBSD_version >= 1000032) || \
74
    (defined(__OpenBSD__) && OpenBSD >= 201505) || \
79
    (defined(__OpenBSD__) && OpenBSD >= 201505) || \
75
    (defined(__NetBSD__) && __NetBSD_Version__ >= 600000000)
80
    (defined(__NetBSD__) && __NetBSD_Version__ >= 600000000)
(-)a/src/corelib/codecs/qiconvcodec.cpp (-1 / +1 lines)
Lines 433-439 Link Here
433
        init();
433
        init();
434
434
435
    iconv_t cd = (iconv_t) -1;
435
    iconv_t cd = (iconv_t) -1;
436
#if defined(__GLIBC__) || !QT_CONFIG(posix_libiconv) || defined(Q_OS_QNX)
436
#if defined(__GLIBC__) || !QT_CONFIG(posix_libiconv) || defined(Q_OS_QNX) || defined(Q_OS_CYGWIN)
437
#if defined(Q_OS_QNX)
437
#if defined(Q_OS_QNX)
438
    // on QNX the default locale is UTF-8, and an empty string will cause iconv_open to fail
438
    // on QNX the default locale is UTF-8, and an empty string will cause iconv_open to fail
439
    static const char empty_codeset[] = "UTF-8";
439
    static const char empty_codeset[] = "UTF-8";
(-)a/src/corelib/global/qcompilerdetection.h (-1 / +1 lines)
Lines 222-228 Link Here
222
#    endif
222
#    endif
223
#  endif
223
#  endif
224
224
225
#  ifdef Q_OS_WIN
225
#  if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
226
#    define Q_DECL_EXPORT     __declspec(dllexport)
226
#    define Q_DECL_EXPORT     __declspec(dllexport)
227
#    define Q_DECL_IMPORT     __declspec(dllimport)
227
#    define Q_DECL_IMPORT     __declspec(dllimport)
228
#  elif defined(QT_VISIBILITY_AVAILABLE)
228
#  elif defined(QT_VISIBILITY_AVAILABLE)
(-)a/src/corelib/global/qglobal.cpp (-1 / +1 lines)
Lines 2036-2042 Link Here
2036
}
2036
}
2037
#endif
2037
#endif
2038
2038
2039
#elif defined(Q_OS_WIN) || defined(Q_OS_CYGWIN) || defined(Q_OS_WINRT)
2039
#elif defined(Q_OS_WIN) || defined(Q_OS_WINRT)
2040
2040
2041
QT_BEGIN_INCLUDE_NAMESPACE
2041
QT_BEGIN_INCLUDE_NAMESPACE
2042
#include "qt_windows.h"
2042
#include "qt_windows.h"
(-)a/src/corelib/global/qsysinfo.h (-1 / +1 lines)
Lines 212-218 Link Here
212
212
213
QT_WARNING_PUSH
213
QT_WARNING_PUSH
214
QT_WARNING_DISABLE_DEPRECATED
214
QT_WARNING_DISABLE_DEPRECATED
215
#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
215
#if defined(Q_OS_WIN)
216
    QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static const WinVersion WindowsVersion;
216
    QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static const WinVersion WindowsVersion;
217
    QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static WinVersion windowsVersion();
217
    QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static WinVersion windowsVersion();
218
#else
218
#else
(-)a/src/corelib/plugin/qlibrary.cpp (-1 / +1 lines)
Lines 615-621 Link Here
615
 */
615
 */
616
bool QLibrary::isLibrary(const QString &fileName)
616
bool QLibrary::isLibrary(const QString &fileName)
617
{
617
{
618
#if defined(Q_OS_WIN)
618
#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
619
    return fileName.endsWith(QLatin1String(".dll"), Qt::CaseInsensitive);
619
    return fileName.endsWith(QLatin1String(".dll"), Qt::CaseInsensitive);
620
#else // Generic Unix
620
#else // Generic Unix
621
    QString completeSuffix = QFileInfo(fileName).completeSuffix();
621
    QString completeSuffix = QFileInfo(fileName).completeSuffix();
(-)a/src/corelib/plugin/qlibrary_unix.cpp (+10 lines)
Lines 96-101 Link Here
96
    }
96
    }
97
#elif defined(Q_OS_AIX)
97
#elif defined(Q_OS_AIX)
98
    suffixes << ".a";
98
    suffixes << ".a";
99
#elif defined(Q_OS_CYGWIN)
100
    if (!fullVersion.isEmpty()) {
101
        suffixes << QString::fromLatin1("-%1.dll").arg(fullVersion);
102
    } else {
103
        suffixes << QLatin1String(".dll");
104
    }
99
105
100
#else
106
#else
101
    if (!fullVersion.isEmpty()) {
107
    if (!fullVersion.isEmpty()) {
Lines 117-123 Link Here
117
123
118
QStringList QLibraryPrivate::prefixes_sys()
124
QStringList QLibraryPrivate::prefixes_sys()
119
{
125
{
126
#if defined(Q_OS_CYGWIN)
127
    return QStringList() << QLatin1String("cyg");
128
#else
120
    return QStringList() << QLatin1String("lib");
129
    return QStringList() << QLatin1String("lib");
130
#endif
121
}
131
}
122
132
123
bool QLibraryPrivate::load_sys()
133
bool QLibraryPrivate::load_sys()
(-)a/src/corelib/Qt5CoreConfigExtras.cmake.in (+2 lines)
Lines 125-130 Link Here
125
!!ENDIF
125
!!ENDIF
126
126
127
!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
127
!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
128
!!IF isEmpty(CMAKE_CYGWIN_BUILD)
128
set(Qt5Core_QTMAIN_LIBRARIES Qt5::WinMain)
129
set(Qt5Core_QTMAIN_LIBRARIES Qt5::WinMain)
129
130
130
if (NOT TARGET Qt5::WinMain)
131
if (NOT TARGET Qt5::WinMain)
Lines 182-187 Link Here
182
    endif()
183
    endif()
183
endif()
184
endif()
184
!!ENDIF
185
!!ENDIF
186
!!ENDIF
185
187
186
get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
188
get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
187
189

Return to bug 644748