[Libreoffice-commits] core.git: Branch 'ports/macosx10.5/master' - 278 commits - accessibility/inc accessibility/source android/Bootstrap apple_remote/Library_AppleRemote.mk avmedia/inc avmedia/Library_avmediaQuickTime.mk avmedia/Module_avmedia.mk avmedia/source basctl/source basegfx/source basegfx/test basic/qa basic/source bridges/inc bridges/Library_cpp_uno.mk bridges/source canvas/source chart2/inc chart2/qa chart2/source codemaker/source comphelper/inc comphelper/source compilerplugins/clang config_host/config_version.h.in config_host.mk.in configure.ac connectivity/source cppcanvas/source cppuhelper/qa cppuhelper/source cppuhelper/test cui/inc cui/source cui/uiconfig dbaccess/inc dbaccess/Module_dbaccess.mk dbaccess/source desktop/Executable_unopkg_com.mk desktop/inc desktop/Library_sofficeapp.mk desktop/source desktop/test desktop/util desktop/win32 desktop/WinResTarget_sbase.mk desktop/WinResTarget_scalc.mk desktop/WinResTarget_sdraw.mk desktop/WinResTarget_simpress.mk desktop/WinResTarge t_smath.mk desktop/WinResTarget_sofficebin.mk desktop/WinResTarget_soffice.mk desktop/WinResTarget_sweb.mk desktop/WinResTarget_swriter.mk dictionaries drawinglayer/inc drawinglayer/source editeng/inc editeng/source embeddedobj/source embeddedobj/test extensions/source external/apache-commons external/beanshell external/clew external/clucene external/curl external/firebird external/hsqldb external/jfreereport external/languagetool external/libzmf external/nss external/openssl external/poppler external/python3 external/rhino extras/source filter/Configuration_filter.mk filter/qa filter/source forms/inc forms/source formula/source fpicker/Library_fps_aqua.mk fpicker/source fpicker/test framework/inc framework/Library_fwk.mk framework/qa framework/source helpcontent2 i18nlangtag/qa i18npool/qa icon-themes/galaxy icon-themes/sifr idlc/inc idlc/source include/backtrace.hxx include/basegfx include/basic include/canvas include/com include/comphelper include/connectivity include/cppuhelper include/dbaccess include/default.rc include/drawinglayer include/editeng include/formula include/framework include/oox include/rtl include/sal include/sax include/sfx2 include/svl include/svtools include/svx include/systools include/test include/toolkit include/tools include/ucbhelper include/unotools include/vcl include/version.hrc include/xmloff include/xmlreader include/xmlscript instsetoo_native/CustomTarget_install.mk instsetoo_native/CustomTarget_setup.mk instsetoo_native/util ios/experimental jvmfwk/Library_jvmfwk.mk jvmfwk/plugins lingucomponent/source linguistic/source lotuswordpro/source mysqlc/source odk/CppunitTest_odk_checkapi.mk odk/CustomTarget_settings.mk odk/examples odk/Package_odk_headers.mk odk/settings offapi/com offapi/UnoApi_offapi.mk officecfg/registry oox/source postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/Module_postprocess.mk postprocess/Rdb_services.mk readlicense_oo/docs README.Solaris registry/Library_reg.mk remote bridges/examples reportdesign/source Repository.mk rsc/inc rsc/source sal/Library_sal.mk sal/Library_sal_textenc.mk sal/Library_uwinapi.mk sal/osl sal/qa sal/rtl sal/StaticLibrary_salcpprt.mk sal/systools sal/util sax/source scaddins/source sc/inc sc/Library_sc.mk sc/Module_sc.mk sc/qa scripting/java sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/workben sdext/source sd/inc sd/Library_sd.mk sd/qa sd/source setup_native/install_name_patcher.app setup_native/scripts sfx2/inc sfx2/source shell/Library_macbe.mk shell/source slideshow/source slideshow/test solenv/bin solenv/gbuild starmath/inc starmath/source stoc/source store/Library_store.mk svgio/source svl/source svl/unx svtools/inc svtools/Library_svt.mk svtools/qa svtools/source svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/source svx/uiconfig svx/UIConfig_svx.mk svx/util svx/workben sw/CppunitTest_sw_ooxmlimport.mk sw/inc sw/Module_sw.mk sw/qa sw/source sw/uiconfig sysui/CustomTarget_deb.mk sysui/CustomTarget_rpm.mk sysui/desktop test/source testtools/CustomTarget_uno_test.mk toolkit/Library_tk.mk toolkit/source tools/qa tools/source tubes/source ucb/qa ucb/source unotools/source ure/source uui/source uui/uiconfig vbahelper/source vcl/android vcl/backendtest vcl/inc vcl/ios vcl/Library_vcl.mk vcl/osx vcl/qa vcl/quartz vcl/README.GDIMetaFile vcl/README.vars vcl/source vcl/StaticLibrary_vclmain.mk vcl/unx vcl/win vcl/workben writerfilter/Module_writerfilter.mk writerfilter/source writerperfect/inc writerperfect/source xmloff/source xmlsecurity/inc xmlsecurity/source xmlsecurity/workben
Douglas Mencken
dougmencken at gmail.com
Fri Oct 7 18:10:04 UTC 2016
Rebased ref, commits from common ancestor:
commit afce91707ce7292faa99ab743986bd8f035ccd46
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Fri Oct 7 14:03:18 2016 -0400
Let that “ abletorunwindowsnativelysowhytouseOS ” rest in peace
This reverts commit
a6c88e4bf1d148ac462c2bcd7061eff602b627d6 SAL_WNODEPRECATED_DECLARATIONS_ around new 10.12 deprecations
diff --git a/apple_remote/source/RemoteMainController.m b/apple_remote/source/RemoteMainController.m
index 9e933a3..79af22f 100644
--- a/apple_remote/source/RemoteMainController.m
+++ b/apple_remote/source/RemoteMainController.m
@@ -85,8 +85,6 @@
- (void) postTheEvent: (short int)buttonIdentifier modifierFlags:(int)modifierFlags
{
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12
[NSApp postEvent:
[NSEvent otherEventWithType:NSApplicationDefined
location:NSZeroPoint
@@ -98,7 +96,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
data1: buttonIdentifier
data2: 0]
atStart: NO];
-SAL_WNODEPRECATED_DECLARATIONS_POP
}
diff --git a/vcl/osx/DropTarget.cxx b/vcl/osx/DropTarget.cxx
index 90abe7a..5fb8a72 100644
--- a/vcl/osx/DropTarget.cxx
+++ b/vcl/osx/DropTarget.cxx
@@ -388,12 +388,7 @@ void SAL_CALL DropTarget::initialize(const Sequence< Any >& aArguments)
id wnd = [mView window];
NSWindow* parentWnd = [wnd parentWindow];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSResizableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSTitleWindowMask' is deprecated: first deprecated in macOS 10.12
unsigned int topWndStyle = (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask);
-SAL_WNODEPRECATED_DECLARATIONS_POP
unsigned int wndStyles = [wnd styleMask] & topWndStyle;
if (parentWnd == nil && (wndStyles == topWndStyle))
diff --git a/vcl/osx/a11ytextattributeswrapper.mm b/vcl/osx/a11ytextattributeswrapper.mm
index 7374a86..042fafd 100644
--- a/vcl/osx/a11ytextattributeswrapper.mm
+++ b/vcl/osx/a11ytextattributeswrapper.mm
@@ -272,11 +272,6 @@ using namespace ::com::sun::star::uno;
sal_Int32 alignment;
property.Value >>= alignment;
NSNumber *textAlignment = nil;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSCenterTextAlignment' is deprecated: first deprecated in macOS 10.12
- // 'NSJustifiedTextAlignment' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftTextAlignment' is deprecated: first deprecated in macOS 10.12
- // 'NSRightTextAlignment' is deprecated: first deprecated in macOS 10.12
switch(alignment) {
case css::style::ParagraphAdjust_RIGHT : textAlignment = [NSNumber numberWithInteger:NSRightTextAlignment] ; break;
case css::style::ParagraphAdjust_CENTER: textAlignment = [NSNumber numberWithInteger:NSCenterTextAlignment] ; break;
@@ -284,7 +279,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
case css::style::ParagraphAdjust_LEFT :
default : textAlignment = [NSNumber numberWithInteger:NSLeftTextAlignment] ; break;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
NSDictionary *paragraphStyle = [NSDictionary dictionaryWithObjectsAndKeys:textAlignment, @"AXTextAlignment", textAlignment, @"AXVisualTextAlignment", nil];
[string addAttribute:@"AXParagraphStyle" value:paragraphStyle range:range];
}
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index f082a416..6800e4b 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -156,12 +156,6 @@ void AquaSalFrame::initWindowAndView()
maGeometry.nHeight = static_cast<unsigned int>(aVisibleRect.size.height * 0.8);
// calculate style mask
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSBorderlessWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSMiniaturizableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSResizableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSTitledWindowMask' is deprecated: first deprecated in macOS 10.12
if( (mnStyle & SalFrameStyleFlags::FLOAT) ||
(mnStyle & SalFrameStyleFlags::OWNERDRAWDECORATION) )
mnStyleMask = NSBorderlessWindowMask;
@@ -195,7 +189,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
if( mnStyleMask != 0 )
mnStyleMask |= NSTitledWindowMask;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
// #i91990# support GUI-less (daemon) execution
@try
@@ -1413,17 +1406,6 @@ SalPointerState AquaSalFrame::GetPointerState()
if( pCur )
{
bMouseEvent = true;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSLeftMouseDown' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftMouseDragged' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftMouseUp' is deprecated: first deprecated in macOS 10.12
- // 'NSMouseMoved' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseDown' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseDragged' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseUp' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseDown' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseDragged' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseUp' is deprecated: first deprecated in macOS 10.12
switch( [pCur type] )
{
case NSLeftMouseDown: state.mnState |= MOUSE_LEFT; break;
@@ -1441,16 +1423,10 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
bMouseEvent = false;
break;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
}
if( bMouseEvent )
{
unsigned int nMask = (unsigned int)[pCur modifierFlags];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
if( (nMask & NSShiftKeyMask) != 0 )
state.mnState |= KEY_SHIFT;
if( (nMask & NSControlKeyMask) != 0 )
@@ -1459,7 +1435,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
state.mnState |= KEY_MOD2;
if( (nMask & NSCommandKeyMask) != 0 )
state.mnState |= KEY_MOD1;
-SAL_WNODEPRECATED_DECLARATIONS_POP
}
else
diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm
index 060a7d5..f779570 100644
--- a/vcl/osx/salframeview.mm
+++ b/vcl/osx/salframeview.mm
@@ -46,11 +46,6 @@
static sal_uInt16 ImplGetModifierMask( unsigned int nMask )
{
sal_uInt16 nRet = 0;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
if( (nMask & NSShiftKeyMask) != 0 )
nRet |= KEY_SHIFT;
if( (nMask & NSControlKeyMask) != 0 )
@@ -59,7 +54,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
nRet |= KEY_MOD2;
if( (nMask & NSCommandKeyMask) != 0 )
nRet |= KEY_MOD1;
-SAL_WNODEPRECATED_DECLARATIONS_POP
return nRet;
}
@@ -166,14 +160,8 @@ static const struct ExceptionalKey
const unsigned int nModifierMask;
} aExceptionalKeys[] =
{
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
{ KEY_D, NSControlKeyMask | NSShiftKeyMask | NSAlternateKeyMask },
{ KEY_D, NSCommandKeyMask | NSShiftKeyMask | NSAlternateKeyMask }
-SAL_WNODEPRECATED_DECLARATIONS_POP
};
static AquaSalFrame* getMouseContainerFrame()
@@ -868,10 +856,7 @@ private:
{
dX += [pEvent deltaX];
dY += [pEvent deltaY];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12
NSEvent* pNextEvent = [NSApp nextEventMatchingMask: NSScrollWheelMask
-SAL_WNODEPRECATED_DECLARATIONS_POP
untilDate: nil inMode: NSDefaultRunLoopMode dequeue: YES ];
if( !pNextEvent )
break;
@@ -931,10 +916,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
{
dX += [pEvent deltaX];
dY += [pEvent deltaY];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12
NSEvent* pNextEvent = [NSApp nextEventMatchingMask: NSScrollWheelMask
-SAL_WNODEPRECATED_DECLARATIONS_POP
untilDate: nil inMode: NSDefaultRunLoopMode dequeue: YES ];
if( !pNextEvent )
break;
@@ -1020,12 +1002,8 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
interpretKeyEvents (why?). Try to dispatch them here first,
if not successful continue normally
*/
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
if( (mpFrame->mnLastModifierFlags & (NSAlternateKeyMask | NSCommandKeyMask))
== (NSAlternateKeyMask | NSCommandKeyMask) )
-SAL_WNODEPRECATED_DECLARATIONS_POP
{
if( [self sendSingleCharacter: mpLastEvent] )
return YES;
@@ -1101,12 +1079,6 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
// #i99567#
// find out the unmodified key code
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyUp' is deprecated: first deprecated in macOS 10.12
// sanity check
if( mpLastEvent && ( [mpLastEvent type] == NSKeyDown || [mpLastEvent type] == NSKeyUp ) )
{
@@ -1130,7 +1102,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
{
nLastModifiers = 0;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
[self sendKeyInputAndReleaseToFrame: nKeyCode character: aCharCode modifiers: nLastModifiers];
}
else
@@ -1183,10 +1154,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
-(void)moveLeftAndModifySelection: (id)aSender
{
(void)aSender;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
[self sendKeyInputAndReleaseToFrame: KEY_LEFT character: 0 modifiers: NSShiftKeyMask];
-SAL_WNODEPRECATED_DECLARATIONS_POP
}
-(void)moveBackwardAndModifySelection: (id)aSender
@@ -1204,10 +1172,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
-(void)moveRightAndModifySelection: (id)aSender
{
(void)aSender;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
[self sendKeyInputAndReleaseToFrame: KEY_RIGHT character: 0 modifiers: NSShiftKeyMask];
-SAL_WNODEPRECATED_DECLARATIONS_POP
}
-(void)moveForwardAndModifySelection: (id)aSender
diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx
index 808dbcc..455edce 100644
--- a/vcl/osx/salinst.cxx
+++ b/vcl/osx/salinst.cxx
@@ -373,8 +373,6 @@ void AquaSalInstance::wakeupYield()
if( mbWaitingYield )
{
SalData::ensureThreadAutoreleasePool();
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12
NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined
location: NSZeroPoint
modifierFlags: 0
@@ -384,7 +382,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
subtype: AquaSalInstance::YieldWakeupEvent
data1: 0
data2: 0 ];
-SAL_WNODEPRECATED_DECLARATIONS_POP
if( pEvent )
[NSApp postEvent: pEvent atStart: NO];
}
@@ -623,10 +620,7 @@ SalYieldResult AquaSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents
{
sal_uLong nCount = ReleaseYieldMutex();
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAnyEventMask' is deprecated: first deprecated in macOS 10.12
pEvent = [NSApp nextEventMatchingMask: NSAnyEventMask untilDate: nil
-SAL_WNODEPRECATED_DECLARATIONS_POP
inMode: NSDefaultRunLoopMode dequeue: YES];
if( pEvent )
{
@@ -644,10 +638,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
sal_uLong nCount = ReleaseYieldMutex();
NSDate* pDt = AquaSalTimer::pRunningTimer ? [AquaSalTimer::pRunningTimer fireDate] : [NSDate distantFuture];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAnyEventMask' is deprecated: first deprecated in macOS 10.12
pEvent = [NSApp nextEventMatchingMask: NSAnyEventMask untilDate: pDt
-SAL_WNODEPRECATED_DECLARATIONS_POP
inMode: NSDefaultRunLoopMode dequeue: YES];
if( pEvent )
[NSApp sendEvent: pEvent];
@@ -749,23 +740,6 @@ bool AquaSalInstance::AnyInput( VclInputFlags nType )
return false;
unsigned/*NSUInteger*/ nEventMask = 0;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSFlagsChangedMask' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyDownMask' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyUpMask' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftMouseDownMask' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftMouseDraggedMask' is deprecated: first deprecated in macOS 10.12
- // 'NSLeftMouseUpMask' is deprecated: first deprecated in macOS 10.12
- // 'NSMouseEnteredMask' is deprecated: first deprecated in macOS 10.12
- // 'NSMouseExitedMask' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseDownMask' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseDraggedMask' is deprecated: first deprecated in macOS 10.12
- // 'NSOtherMouseUpMask' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseDownMask' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseDraggedMask' is deprecated: first deprecated in macOS 10.12
- // 'NSRightMouseUpMask' is deprecated: first deprecated in macOS 10.12
- // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12
- // 'NSTabletPoint' is deprecated: first deprecated in macOS 10.12
if( nType & VclInputFlags::MOUSE)
nEventMask |=
NSLeftMouseDownMask | NSRightMouseDownMask | NSOtherMouseDownMask |
@@ -778,7 +752,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
nEventMask |= NSKeyDownMask | NSKeyUpMask | NSFlagsChangedMask;
if( nType & VclInputFlags::OTHER)
nEventMask |= NSTabletPoint;
-SAL_WNODEPRECATED_DECLARATIONS_POP
// TODO: VclInputFlags::PAINT / more VclInputFlags::OTHER
if( !bool(nType) )
return false;
diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index 2535310..52cb859 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -157,10 +157,7 @@ static void initAppMenu()
[pString release];
if( pNewItem )
{
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
[pNewItem setKeyEquivalentModifierMask: NSCommandKeyMask];
-SAL_WNODEPRECATED_DECLARATIONS_POP
[pNewItem setTarget: pMainMenuSelector];
[pAppMenu insertItem: [NSMenuItem separatorItem] atIndex: 3];
}
@@ -771,11 +768,6 @@ void AquaSalMenu::SetAccelerator( unsigned /*nPos*/, SalMenuItem* pSalMenuItem,
// should always use the command key
int nItemModifier = 0;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
if (nModifier & KEY_SHIFT)
{
nItemModifier |= NSShiftKeyMask; // actually useful only for function keys
@@ -791,7 +783,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
if(nModifier & KEY_MOD3)
nItemModifier |= NSControlKeyMask;
-SAL_WNODEPRECATED_DECLARATIONS_POP
AquaSalMenuItem *pAquaSalMenuItem = static_cast<AquaSalMenuItem *>(pSalMenuItem);
NSString* pString = CreateNSString( OUString( &nCommandKey, 1 ) );
diff --git a/vcl/osx/salnsmenu.mm b/vcl/osx/salnsmenu.mm
index f777a44..be772f9 100644
--- a/vcl/osx/salnsmenu.mm
+++ b/vcl/osx/salnsmenu.mm
@@ -99,12 +99,6 @@
// must still end up in the view. This is necessary to handle common edit actions in docked
// windows (e.g. in toolbar fields).
NSEvent* pEvent = [NSApp currentEvent];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
if( pEvent && [pEvent type] == NSKeyDown )
{
unsigned int nModMask = ([pEvent modifierFlags] & (NSShiftKeyMask|NSControlKeyMask|NSAlternateKeyMask|NSCommandKeyMask));
@@ -120,7 +114,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
return;
}
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
const AquaSalFrame* pFrame = mpMenuItem->mpParentMenu ? mpMenuItem->mpParentMenu->getFrame() : nullptr;
if( pFrame && AquaSalFrame::isAlive( pFrame ) && ! pFrame->GetWindow()->IsInModalMode() )
@@ -180,10 +173,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
aImgRect.origin.y = floor((aFrame.size.height - aFromRect.size.height)/2);
aImgRect.size = aFromRect.size;
if( rButtons[i].mpNSImage )
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSCompositeSourceOver' is deprecated: first deprecated in macOS 10.12
[rButtons[i].mpNSImage drawInRect: aImgRect fromRect: aFromRect operation: NSCompositeSourceOver fraction: 1.0];
-SAL_WNODEPRECATED_DECLARATIONS_POP
aImgRect.origin.x += aFromRect.size.width + 2;
}
}
diff --git a/vcl/osx/saltimer.cxx b/vcl/osx/saltimer.cxx
index 2a31581..5a242e8 100644
--- a/vcl/osx/saltimer.cxx
+++ b/vcl/osx/saltimer.cxx
@@ -68,8 +68,6 @@ void ImplSalStartTimer( sal_uLong nMS )
{
SalData::ensureThreadAutoreleasePool();
// post an event so we can get into the main thread
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12
NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined
location: NSZeroPoint
modifierFlags: 0
@@ -79,7 +77,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
subtype: AquaSalInstance::AppStartTimerEvent
data1: (int)nMS
data2: 0 ];
-SAL_WNODEPRECATED_DECLARATIONS_POP
if( pEvent )
[NSApp postEvent: pEvent atStart: YES];
}
diff --git a/vcl/osx/vclnsapp.mm b/vcl/osx/vclnsapp.mm
index a8eb84a..a8a26a0 100644
--- a/vcl/osx/vclnsapp.mm
+++ b/vcl/osx/vclnsapp.mm
@@ -61,8 +61,6 @@
{
(void)pNotification;
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12
NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined
location: NSZeroPoint
modifierFlags: 0
@@ -72,7 +70,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
subtype: AquaSalInstance::AppExecuteSVMain
data1: 0
data2: 0 ];
-SAL_WNODEPRECATED_DECLARATIONS_POP
if( pEvent )
[NSApp postEvent: pEvent atStart: NO];
}
@@ -80,15 +77,6 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
-(void)sendEvent:(NSEvent*)pEvent
{
NSEventType eType = [pEvent type];
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
- // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12
- // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12
- // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12
- // 'NSMiniaturizableWindowMask' is deprecated: first deprecated in macOS 10.12
- // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12
if( eType == NSApplicationDefined )
{
AquaSalInstance::handleAppDefinedEvent( pEvent );
@@ -236,7 +224,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
}
}
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
[super sendEvent: pEvent];
}
commit 3a8420557fa859cedebcdf46923ee636058b91c1
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Sun Sep 25 04:49:44 2016 -0400
The logic is “ no QuickTime™ in the 10.12 SDK & beyond ”
instead of “ QuickTime only in 10.8 10.9 10.10 & 10.11 ”
related commits are
a4e81b7c313e5cb0e0f23a8605502b4b0b7f599e
bfbbbd87d33c0d51a9ff844f2175400b753ba5b9
Change-Id: Ie65abb736aa11ad063edeaed798d2e03db1684fe
diff --git a/Repository.mk b/Repository.mk
index 72352b5..137a718 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -282,7 +282,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
$(if $(filter MACOSX,$(OS)),\
$(if $(shell test $(MACOSX_SDK_VERSION) -ge 1070 && echo yep),avmediaMacAVF) \
$(if $(ENABLE_MACOSX_SANDBOX),,\
- $(if $(filter 1080 1090 101000 101100,$(MACOSX_SDK_VERSION)),avmediaQuickTime) \
+ $(if $(shell test $(MACOSX_SDK_VERSION) -ge 101200 || echo not),avmediaQuickTime) \
) \
) \
$(call gb_Helper_optional,SCRIPTING, \
diff --git a/avmedia/Module_avmedia.mk b/avmedia/Module_avmedia.mk
index b8a2ac7..3617c88 100644
--- a/avmedia/Module_avmedia.mk
+++ b/avmedia/Module_avmedia.mk
@@ -37,7 +37,7 @@ endif
ifeq ($(OS),MACOSX)
ifneq ($(ENABLE_MACOSX_SANDBOX),TRUE)
-ifneq ($(filter 1080 1090 101000 101100,$(MACOSX_SDK_VERSION)),)
+ifneq ($(shell test $(MACOSX_SDK_VERSION) -ge 101200; echo $$?),0)
$(eval $(call gb_Module_add_targets,avmedia,\
Library_avmediaQuickTime \
))
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index 52cc6fe..12d4b8c 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -129,7 +129,7 @@ $(eval $(call gb_Rdb_add_components,services,\
$(call gb_Helper_optional,AVMEDIA,avmedia/source/macavf/avmediaMacAVF) \
) \
$(if $(filter TRUE,$(ENABLE_MACOSX_SANDBOX)),, \
- $(if $(filter 1080 1090 101000 101100,$(MACOSX_SDK_VERSION)), \
+ $(if $(shell test $(MACOSX_SDK_VERSION) -ge 101200 || echo nope), \
$(call gb_Helper_optional,AVMEDIA,avmedia/source/quicktime/avmediaQuickTime) \
) \
) \
commit 0f71618439b32c05a17b0cbcb043aeaeffa015fd
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Sun Sep 25 09:15:34 2016 -0400
Tweaks for instsetoo_native/CustomTarget_setup.mk
when “ ' ” is used in some variable, this script fails e.g
syntax error near unexpected token `('
/bin/sh: -c: line 9: `&& echo 'UpdateUserAgent=<PRODUCT> (${buildid}; ${_OS}; ${_ARCH}; <OPTIONAL_OS_HW_DATA>)' \'
/bin/sh: -c: line 10: unexpected EOF while looking for matching `''
/bin/sh: -c: line 12: syntax error: unexpected end of file
Change-Id: Id68558533b14e81bd4c4a3f72e7946d9c6ffc5bd
diff --git a/instsetoo_native/CustomTarget_setup.mk b/instsetoo_native/CustomTarget_setup.mk
index ae98954..084e3a2 100644
--- a/instsetoo_native/CustomTarget_setup.mk
+++ b/instsetoo_native/CustomTarget_setup.mk
@@ -135,16 +135,16 @@ $(call gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_
$(call gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_rcfile,version) :
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1)
( \
- echo '[Version]' \
- && echo 'AllLanguages=$(if $(gb_WITH_LANG),$(gb_WITH_LANG),en-US)' \
- && echo 'BuildVersion=$(BUILD_VER_STRING)' \
- && echo 'buildid=$(shell cd $(SRCDIR) && git log -1 --format=%H)' \
- && echo 'ExtensionUpdateURL=http://updateexte.libreoffice.org/ExtensionUpdateService/check.Update' \
- && echo 'ReferenceOOoMajorMinor=4.1' \
- && echo 'UpdateID=$(PRODUCTNAME)_$(LIBO_VERSION_MAJOR)_en-US' \
- && echo 'UpdateURL=$(if $(ENABLE_ONLINE_UPDATE),http://update.libreoffice.org/check.php$(if $(filter-out WNT,$(OS)),?pkgfmt=$(PKGFORMAT)))' \
- && echo 'UpdateUserAgent=<PRODUCT> ($${buildid}; $${_OS}; $${_ARCH}; <OPTIONAL_OS_HW_DATA>)' \
- && echo 'Vendor=$(OOO_VENDOR)' \
+ echo "[Version]" \
+ && echo "AllLanguages=$(if $(gb_WITH_LANG),$(gb_WITH_LANG),en-US)" \
+ && echo "BuildVersion=$(BUILD_VER_STRING)" \
+ && echo "buildid=$(shell cd $(SRCDIR) && git log -1 --format=%H)" \
+ && echo "ExtensionUpdateURL=http://updateexte.libreoffice.org/ExtensionUpdateService/check.Update" \
+ && echo "ReferenceOOoMajorMinor=4.1" \
+ && echo "UpdateID=$(PRODUCTNAME)_$(LIBO_VERSION_MAJOR)_en-US" \
+ && echo "UpdateURL=$(if $(ENABLE_ONLINE_UPDATE),http://update.libreoffice.org/check.php$(if $(filter-out WNT,$(OS)),?pkgfmt=$(PKGFORMAT)))" \
+ && echo "UpdateUserAgent=LibreOffice for Mac OS X PowerPC <OPTIONAL_OS_HW_DATA>" \
+ && echo "Vendor=$(OOO_VENDOR)" \
) > $@
# vim: set noet sw=4 ts=4:
commit 0fc31c2fa97bbda75481afa943d7314abaeeea29
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Sun Sep 18 16:49:21 2016 -0400
trying to figure out what’s wrong with gengal and paths
diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx
index d9b5ce5..06886c5 100644
--- a/svx/source/gallery2/gallery1.cxx
+++ b/svx/source/gallery2/gallery1.cxx
@@ -193,11 +193,17 @@ Gallery* Gallery::GetGalleryInstance()
void Gallery::ImplLoad( const OUString& rMultiPath )
{
+OString blah = OUStringToOString( rMultiPath, RTL_TEXTENCODING_UTF8 );
+fprintf( stderr, "void Gallery::ImplLoad( \"%s\" )\n", blah.pData->buffer );
+
const sal_Int32 nTokenCount = comphelper::string::getTokenCount(rMultiPath, ';');
bool bIsReadOnlyDir;
bMultiPath = ( nTokenCount > 0 );
+OString configpath = OUStringToOString( SvtPathOptions().GetConfigPath(), RTL_TEXTENCODING_UTF8 );
+fprintf( stderr, "void Gallery::ImplLoad SvtPathOptions().GetConfigPath() is \"%s\"\n", configpath.pData->buffer );
+
INetURLObject aCurURL(SvtPathOptions().GetConfigPath());
ImplLoadSubDirs( aCurURL, bIsReadOnlyDir );
@@ -227,6 +233,8 @@ void Gallery::ImplLoad( const OUString& rMultiPath )
void Gallery::ImplLoadSubDirs( const INetURLObject& rBaseURL, bool& rbDirIsReadOnly )
{
+fprintf( stderr, "void Gallery::ImplLoadSubDirs\n" );
+
rbDirIsReadOnly = false;
try
diff --git a/svx/source/gengal/gengal.cxx b/svx/source/gengal/gengal.cxx
index f8b5385..a5e92c8 100644
--- a/svx/source/gengal/gengal.cxx
+++ b/svx/source/gengal/gengal.cxx
@@ -61,6 +61,9 @@ protected:
Gallery* createGallery( const OUString& rURL )
{
+OString blah = OUStringToOString( rURL, RTL_TEXTENCODING_UTF8 );
+fprintf( stderr, "gengal createGallery( \"%s\" )\n", blah.pData->buffer );
+
return new Gallery( rURL );
}
@@ -73,9 +76,9 @@ static void createTheme( const OUString& aThemeName, const OUString& aGalleryURL
const OUString& aDestDir, std::vector<INetURLObject> &rFiles,
bool bRelativeURLs )
{
- Gallery* pGallery;
+fprintf( stderr, "gengal top of static void createTheme\n" );
- pGallery = createGallery( aGalleryURL );
+ Gallery* pGallery = createGallery( aGalleryURL );
if (!pGallery ) {
fprintf( stderr, "Could't create '%s'\n",
OUStringToOString( aGalleryURL, RTL_TEXTENCODING_UTF8 ).getStr() );
@@ -169,9 +172,10 @@ static INetURLObject Smartify( const OUString &rPath )
void GalApp::Init()
{
- try {
if( !mbInBuildTree && getenv( "OOO_INSTALL_PREFIX" ) == nullptr ) {
OUString fileName = GetAppFileName();
+OString blah = OUStringToOString( fileName, RTL_TEXTENCODING_UTF8 );
+fprintf( stderr, "gengal GalApp::Init() fileName is \"%s\"\n", blah.pData->buffer );
int lastSlash = fileName.lastIndexOf( '/' );
#ifdef _WIN32
// Don't know which directory separators GetAppFileName() returns on Windows.
@@ -179,32 +183,30 @@ void GalApp::Init()
if( fileName.lastIndexOf( '\\' ) > lastSlash )
lastSlash = fileName.lastIndexOf( '\\' );
#endif
- OUString baseBinDir = fileName.copy( 0, lastSlash );
- OUString installPrefix = baseBinDir + "/../..";
+ OUString path = fileName.copy( 0, lastSlash );
+ OUString installPrefix = path + "/../..";
- OUString envVar( "OOO_INSTALL_PREFIX");
- osl_setEnvironment(envVar.pData, installPrefix.pData);
+ OUString envVar( "OOO_INSTALL_PREFIX" );
+ osl_setEnvironment( envVar.pData, installPrefix.pData );
}
OSL_TRACE( "OOO_INSTALL_PREFIX=%s", getenv( "OOO_INSTALL_PREFIX" ) );
- uno::Reference<uno::XComponentContext> xComponentContext
- = ::cppu::defaultBootstrap_InitialComponentContext();
- xMSF.set( xComponentContext->getServiceManager(), uno::UNO_QUERY );
- if( !xMSF.is() )
+ uno::Reference<uno::XComponentContext> xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
+ bool okay = true;
+ if ( ! xComponentContext.is() )
+ okay = false;
+ else
+ {
+ xMSF.set( xComponentContext->getServiceManager(), uno::UNO_QUERY );
+ if( !xMSF.is() ) okay = false;
+ }
+ if ( ! okay )
{
- fprintf( stderr, "Failed to bootstrap\n" );
+ fprintf( stderr, "GalApp::Init can not bootstrap\n" );
exit( 1 );
}
- ::comphelper::setProcessServiceFactory( xMSF );
- // For backwards compatibility, in case some code still uses plain
- // createInstance w/o args directly to obtain an instance:
- css::ucb::UniversalContentBroker::create(xComponentContext);
- } catch (const uno::Exception &e) {
- fprintf( stderr, "Bootstrap exception '%s'\n",
- rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
- exit( 1 );
- }
+ ::comphelper::setProcessServiceFactory( xMSF );
}
std::vector<OUString> ReadResponseFile_Impl(OUString const& rInput)
@@ -274,6 +276,8 @@ ReadResponseFile(std::vector<INetURLObject> & rFiles, OUString const& rInput)
int GalApp::Main()
{
+fprintf( stderr, "hola from gengal GalApp::Main()\n" );
+
try
{
OUString aPath, aDestDir;
@@ -340,6 +344,7 @@ void GalApp::DeInit()
void vclmain::createApplication()
{
+fprintf( stderr, "top of gengal vclmain::createApplication()\n" );
Application::EnableConsoleOnly();
static GalApp aGalApp;
}
diff --git a/unotools/source/config/pathoptions.cxx b/unotools/source/config/pathoptions.cxx
index 944eb36..3be8a77 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -211,6 +211,8 @@ static const VarNameAttribute aVarNameAttribute[] =
const OUString& SvtPathOptions_Impl::GetPath( SvtPathOptions::Paths ePath )
{
+fprintf( stderr, "const OUString& SvtPathOptions_Impl::GetPath( SvtPathOptions::Paths ePath )\n" );
+
if ( ePath >= SvtPathOptions::PATH_COUNT )
return m_aEmptyString;
@@ -384,12 +386,18 @@ SvtPathOptions_Impl::SvtPathOptions_Impl() :
m_aLanguageTag( LANGUAGE_DONTKNOW )
{
Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
+fprintf( stderr, "xContext okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
// Create necessary services
Reference< XPathSettings > xPathSettings = thePathSettings::get(xContext);
+fprintf( stderr, "xPathSettings okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
+
m_xPathSettings.set( xPathSettings, UNO_QUERY_THROW );
+fprintf( stderr, "m_xPathSettings okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
m_xSubstVariables.set( PathSubstitution::create(xContext) );
+fprintf( stderr, "m_xSubstVariables okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
m_xMacroExpander = theMacroExpander::get(xContext);
+fprintf( stderr, "m_xMacroExpander okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
// Create temporary hash map to have a mapping between property names and property handles
Reference< XPropertySetInfo > xPropSetInfo = xPathSettings->getPropertySetInfo();
@@ -418,15 +426,17 @@ SvtPathOptions_Impl::SvtPathOptions_Impl() :
}
}
- // Create hash map for path variables that need a system path as a return value!
+ // Create hash map for path variables that need a system path as a return value
nCount = sizeof( aVarNameAttribute ) / sizeof( VarNameAttribute );
for ( i = 0; i < nCount; i++ )
{
m_aSystemPathVarNames.insert( OUString::createFromAscii( aVarNameAttribute[i].pVarName ) );
}
- // Set language type!
+ // Set language type
m_aLanguageTag.reset( ConfigManager::getLocale() );
+
+fprintf( stderr, "exit from constructor SvtPathOptions_Impl::SvtPathOptions_Impl()\n" );
}
// class SvtPathOptions --------------------------------------------------
@@ -435,14 +445,19 @@ namespace { struct lclMutex : public rtl::Static< ::osl::Mutex, lclMutex > {}; }
SvtPathOptions::SvtPathOptions()
{
+fprintf( stderr, "constructor SvtPathOptions::SvtPathOptions()\n" );
+
// Global access, must be guarded (multithreading)
::osl::MutexGuard aGuard( lclMutex::get() );
pImpl = g_pOptions.lock();
if ( !pImpl )
{
- pImpl = std::make_shared<SvtPathOptions_Impl>();
+fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions()\n" );
+ pImpl = std::make_shared< SvtPathOptions_Impl >();
+fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions() ~ make shared okay\n" );
g_pOptions = pImpl;
ItemHolder1::holdConfigItem(E_PATHOPTIONS);
+fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions() ~ holdConfigItem okay\n" );
}
}
@@ -486,6 +501,8 @@ const OUString& SvtPathOptions::GetBitmapPath() const
const OUString& SvtPathOptions::GetConfigPath() const
{
+fprintf( stderr, "const OUString& SvtPathOptions::GetConfigPath() const\n" );
+
return pImpl->GetConfigPath();
}
commit febffcb4239e3ab059e18ff8df135433531a0882
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Thu Apr 14 08:56:01 2016 -0400
playing with menus & separators
Change-Id: I20a51b2a173d81eb51310a04722c1b61dd49630b
diff --git a/framework/source/uielement/newmenucontroller.cxx b/framework/source/uielement/newmenucontroller.cxx
index aa5d01d..9d9e582 100644
--- a/framework/source/uielement/newmenucontroller.cxx
+++ b/framework/source/uielement/newmenucontroller.cxx
@@ -319,6 +319,8 @@ NewMenuController::~NewMenuController()
// private function
void NewMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPopupMenu )
{
+ SAL_WARN( "framework", "fillPopupMenu()" );
+
VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(VCLXMenu::GetImplementation( rPopupMenu ));
PopupMenu* pVCLPopupMenu = nullptr;
@@ -365,11 +367,17 @@ void NewMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPopup
continue;
if ( aURL == "private:separator" )
+ {
+ SAL_WARN( "framework", "separator" );
pVCLPopupMenu->InsertSeparator();
+ }
else
{
+ SAL_WARN( "framework", "item ( aTitle \"" << aTitle << "\", aURL \"" << aURL << "\", nItemId " << OUString::number( nItemId ) << " )" );
+
pVCLPopupMenu->InsertItem( nItemId, aTitle );
pVCLPopupMenu->SetItemCommand( nItemId, aURL );
+ //pVCLPopupMenu->DoSomethingCool();
sal_uIntPtr nAttributePtr = MenuAttributes::CreateAttribute( aRecipientFrame, aImageId );
pVCLPopupMenu->SetUserValue( nItemId, nAttributePtr, MenuAttributes::ReleaseAttribute );
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 7b94e86..531ff04 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -212,6 +212,11 @@ protected:
virtual void MenuBarKeyInput(const KeyEvent& rEvent);
public:
+ OUString& GetText()
+ {
+ return aTitleText;
+ }
+
SAL_DLLPRIVATE void ImplBinLayoutData() const;
SAL_DLLPRIVATE vcl::Window* ImplGetWindow() const { return pWindow; }
diff --git a/vcl/inc/osx/salmenu.h b/vcl/inc/osx/salmenu.h
index f21c750..3981cdb 100644
--- a/vcl/inc/osx/salmenu.h
+++ b/vcl/inc/osx/salmenu.h
@@ -84,6 +84,9 @@ public:
static void addFallbackMenuItem( NSMenuItem* NewItem );
static void removeFallbackMenuItem( NSMenuItem* pOldItem );
+ bool IsSeparatorAt( unsigned nPos );
+ static bool IsItemSeparator( AquaSalMenuItem * pAquaSalMenuItem );
+
const std::vector< MenuBarButtonEntry >& getButtons() const { return maButtons; }
bool mbMenuBar; // true - Menubar, false - Menu
diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index a953f21..2535310 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -515,9 +515,36 @@ void AquaSalMenu::SetFrame( const SalFrame *pFrame )
mpFrame = static_cast<const AquaSalFrame*>(pFrame);
}
+bool AquaSalMenu::IsItemSeparator( AquaSalMenuItem * pAquaSalMenuItem )
+{
+ if ( ! pAquaSalMenuItem )
+ return false;
+
+ return ( [ pAquaSalMenuItem->mpMenuItem isSeparatorItem ] ? true : false );
+}
+
+bool AquaSalMenu::IsSeparatorAt( unsigned nPos )
+{
+ if( nPos < maItems.size() )
+ return IsItemSeparator( maItems[ nPos ] );
+
+ return false;
+}
+
void AquaSalMenu::InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos )
{
- AquaSalMenuItem *pAquaSalMenuItem = static_cast<AquaSalMenuItem*>(pSalMenuItem);
+ AquaSalMenuItem *pAquaSalMenuItem = static_cast< AquaSalMenuItem * >( pSalMenuItem );
+ NSMenuItem* nsMenuItem = pAquaSalMenuItem->mpMenuItem;
+ bool isSeparator = IsItemSeparator( pAquaSalMenuItem );
+
+#if OSL_DEBUG_LEVEL > 0
+ if ( isSeparator ) {
+ SAL_WARN( "vcl.osx", "AquaSalMenu::InsertItem separator at position " << nPos );
+ } else {
+ const char* theTitle = [ [ nsMenuItem title ] UTF8String ];
+ SAL_WARN( "vcl.osx", "AquaSalMenu::InsertItem with label \"" << theTitle << "\" at position " << nPos );
+ }
+#endif
pAquaSalMenuItem->mpParentMenu = this;
DBG_ASSERT( pAquaSalMenuItem->mpVCLMenu == nullptr ||
@@ -527,24 +554,37 @@ void AquaSalMenu::InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos )
if( pAquaSalMenuItem->mpVCLMenu )
mpVCLMenu = pAquaSalMenuItem->mpVCLMenu;
- if( nPos == MENU_APPEND || nPos == maItems.size() )
- maItems.push_back( pAquaSalMenuItem );
- else if( nPos < maItems.size() )
- maItems.insert( maItems.begin() + nPos, pAquaSalMenuItem );
- else
+ bool bInsert = true;
+ if ( isSeparator )
{
- OSL_FAIL( "invalid item index in insert" );
- return;
+ bInsert = ( nPos > 0 ) ?
+ ( !IsSeparatorAt( nPos ) && !IsSeparatorAt( nPos - 1 ) ) :
+ !IsSeparatorAt( nPos ) ;
+ if ( !bInsert )
+ SAL_WARN( "vcl.osx", "yet another separator here is redundant" );
}
- if( ! mbMenuBar || pCurrentMenuBar == this )
- [mpMenu insertItem: pAquaSalMenuItem->mpMenuItem atIndex: getItemIndexByPos(nPos)];
+ if ( bInsert )
+ {
+ if( nPos == MENU_APPEND || nPos == maItems.size() )
+ maItems.push_back( pAquaSalMenuItem );
+ else if( nPos < maItems.size() )
+ maItems.insert( maItems.begin() + nPos, pAquaSalMenuItem );
+ else
+ {
+ SAL_WARN( "vcl.osx", "position of item is somewhere out @ AquaSalMenu::InsertItem" );
+ return;
+ }
+
+ if( ! mbMenuBar || pCurrentMenuBar == this )
+ [ mpMenu insertItem: nsMenuItem atIndex: getItemIndexByPos( nPos ) ];
+ }
}
void AquaSalMenu::RemoveItem( unsigned nPos )
{
AquaSalMenuItem* pRemoveItem = nullptr;
- if( nPos == MENU_APPEND || nPos == (maItems.size()-1) )
+ if( nPos == MENU_APPEND || nPos == ( maItems.size() - 1 ) )
{
pRemoveItem = maItems.back();
maItems.pop_back();
@@ -552,18 +592,18 @@ void AquaSalMenu::RemoveItem( unsigned nPos )
else if( nPos < maItems.size() )
{
pRemoveItem = maItems[ nPos ];
- maItems.erase( maItems.begin()+nPos );
+ maItems.erase( maItems.begin() + nPos );
}
else
{
- OSL_FAIL( "invalid item index in remove" );
+ SAL_WARN( "vcl.osx", "RemoveItem: item is somewhere out" );
return;
}
pRemoveItem->mpParentMenu = nullptr;
if( ! mbMenuBar || pCurrentMenuBar == this )
- [mpMenu removeItemAtIndex: getItemIndexByPos(nPos)];
+ [ mpMenu removeItemAtIndex: getItemIndexByPos( nPos ) ];
}
void AquaSalMenu::SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned /*nPos*/ )
@@ -783,7 +823,7 @@ void AquaSalMenu::statusLayout()
if( [pNSView isMemberOfClass: [OOStatusItemView class]] ) // well of course it is
[(OOStatusItemView*)pNSView layout];
else
- OSL_FAIL( "someone stole our status view" );
+ SAL_WARN( "vcl.osx", "¿where is my status view?" );
}
}
@@ -890,6 +930,8 @@ AquaSalMenuItem::AquaSalMenuItem( const SalItemParams* pItemData ) :
// these can go occasionally go in and out of a menu, ensure their lifecycle
// also for the release in AquaSalMenuItem destructor
[mpMenuItem retain];
+
+ SAL_WARN( "vcl.osx", "created AquaSalMenuItem separator" );
}
else
{
@@ -903,8 +945,16 @@ AquaSalMenuItem::AquaSalMenuItem( const SalItemParams* pItemData ) :
[mpMenuItem setTitle: pString];
[pString release];
}
- // anything but a separator should set a menu to dispatch to
- SAL_WARN_IF( !mpVCLMenu, "vcl", "no menu" );
+
+#if OSL_DEBUG_LEVEL > 0
+ const char* item = [ [ mpMenuItem title ] UTF8String ];
+ if ( mpVCLMenu ) {
+ SAL_WARN( "vcl.osx", "created AquaSalMenuItem \"" << item << "\" of menu \"" << mpVCLMenu->GetText() << "\"" );
+ } else {
+ // anything but a separator needs a menu to dispatch to
+ SAL_WARN( "vcl.osx", "created AquaSalMenuItem \"" << item << "\" of *no menu*" );
+ }
+#endif
}
}
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 91713ad..94fb407 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -2484,6 +2484,8 @@ std::vector<OString> VclBuilder::handleItems(xmlreader::XmlReader &reader, const
void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID)
{
+ SAL_WARN( "vcl.window", "handleMenu" );
+
VclPtr<PopupMenu> pCurrentMenu = VclPtr<PopupMenu>::Create();
int nLevel = 1;
@@ -2529,6 +2531,8 @@ void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID)
void VclBuilder::handleMenuChild(PopupMenu *pParent, xmlreader::XmlReader &reader)
{
+ SAL_WARN( "vcl.window", "handleMenuChild" );
+
xmlreader::Span name;
int nsId;
@@ -2726,14 +2730,17 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con
if (rClass == "GtkMenuItem")
{
OUString sLabel(OStringToOUString(convertMnemonicMarkup(extractLabel(rProps)), RTL_TEXTENCODING_UTF8));
+ SAL_WARN( "vcl.window", "going to InsertItem with position " << nNewId << " & label \"" << sLabel << "\" & id \"" << rID << "\" @ insertMenuObject" );
pParent->InsertItem(nNewId, sLabel, MenuItemBits::TEXT, rID);
}
else if (rClass == "GtkSeparatorMenuItem")
{
+ SAL_WARN( "vcl.window", "going to InsertSeparator with id \"" << rID << "\" @ insertMenuObject" );
pParent->InsertSeparator(rID);
}
+ SAL_WARN( "vcl.window", "done insert @ insertMenuObject" );
- SAL_WARN_IF(nOldCount == pParent->GetItemCount(), "vcl.layout", "probably need to implement " << rClass.getStr());
+ SAL_WARN_IF(nOldCount == pParent->GetItemCount(), "vcl", "probably need to implement " << rClass.getStr());
if (nOldCount != pParent->GetItemCount())
{
@@ -2753,7 +2760,7 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con
else if (rKey == "has-default" && toBool(rValue))
pParent->SetSelectedEntry(nNewId);
else
- SAL_INFO("vcl.layout", "unhandled property: " << rKey.getStr());
+ SAL_INFO( "vcl", "unhandled property \"" << rKey.getStr() << "\"" );
}
for (stringmap::iterator aI = rAccels.begin(), aEnd = rAccels.end(); aI != aEnd; ++aI)
@@ -2764,7 +2771,7 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con
if (rSignal == "activate")
pParent->SetAccelKey(nNewId, makeKeyCode(rValue));
else
- SAL_INFO("vcl.layout", "unhandled accelerator for: " << rSignal.getStr());
+ SAL_INFO( "vcl", "unhandled accelerator for \"" << rSignal.getStr() << "\"" );
}
}
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index fe44009..3f7258f 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -239,7 +239,7 @@ void Menu::Deactivate()
{
MenuItemData* pData = pItemList->GetDataFromPos( --n );
if ( pData->bIsTemporary )
- pItemList->Remove( n );
+ pItemList->RemoveMenuItem( n );
}
bInCallback = true;
@@ -367,8 +367,8 @@ MenuItemData* Menu::NbcInsertItem(sal_uInt16 nId, MenuItemBits nBits,
size_t nPos, const OString &rIdent)
{
// put Item in MenuItemList
- MenuItemData* pData = pItemList->Insert(nId, MenuItemType::STRING,
- nBits, rStr, Image(), pMenu, nPos, rIdent);
+ MenuItemData* pData = pItemList->InsertMenuItem( nId, MenuItemType::STRING,
+ nBits, rStr, Image(), pMenu, nPos, rIdent );
// update native menu
if (ImplGetSalMenu() && pData->pSalMenuItem)
@@ -522,6 +522,8 @@ void Menu::InsertItem(const OUString& rCommand, const css::uno::Reference<css::f
void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos)
{
+ SAL_WARN( "vcl", "Menu::InsertSeparator with ident \"" << rIdent << "\" & position " << nPos );
+
// do nothing if it's a menu bar
if (IsMenuBar())
return;
@@ -531,13 +533,13 @@ void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos)
nPos = MENU_APPEND;
// put separator in item list
- pItemList->InsertSeparator(rIdent, nPos);
+ MenuItemData *pData = pItemList->InsertSeparator( rIdent, nPos );
// update native menu
- size_t itemPos = ( nPos != MENU_APPEND ) ? nPos : pItemList->size() - 1;
- MenuItemData *pData = pItemList->GetDataFromPos( itemPos );
if( ImplGetSalMenu() && pData && pData->pSalMenuItem )
+ {
ImplGetSalMenu()->InsertItem( pData->pSalMenuItem, nPos );
+ }
delete mpLayoutData;
mpLayoutData = nullptr;
@@ -555,7 +557,7 @@ void Menu::RemoveItem( sal_uInt16 nPos )
if( ImplGetSalMenu() )
ImplGetSalMenu()->RemoveItem( nPos );
- pItemList->Remove( nPos );
+ pItemList->RemoveMenuItem( nPos );
bRemove = true;
}
@@ -1409,7 +1411,7 @@ bool Menu::ImplGetNativeSubmenuArrowSize(vcl::RenderContext& rRenderContext, Siz
void Menu::ImplAddDel( ImplMenuDelData& rDel )
{
- SAL_WARN_IF( rDel.mpMenu, "vcl", "Menu::ImplAddDel(): cannot add ImplMenuDelData twice !" );
+ SAL_WARN_IF( rDel.mpMenu, "vcl", "Menu::ImplAddDel(): cannot add ImplMenuDelData twice" );
if( !rDel.mpMenu )
{
rDel.mpMenu = this;
diff --git a/vcl/source/window/menuitemlist.cxx b/vcl/source/window/menuitemlist.cxx
index 44757a4..27eb2eb 100644
--- a/vcl/source/window/menuitemlist.cxx
+++ b/vcl/source/window/menuitemlist.cxx
@@ -50,7 +50,7 @@ MenuItemList::~MenuItemList()
delete i;
}
-MenuItemData* MenuItemList::Insert(
+MenuItemData* MenuItemList::InsertMenuItem(
sal_uInt16 nId,
MenuItemType eType,
MenuItemBits nBits,
@@ -61,6 +61,12 @@ MenuItemData* MenuItemList::Insert(
const OString &rIdent
)
{
+ SAL_WARN( "vcl", "MenuItemList::InsertMenuItem with ident \"" << rIdent << "\" & id " << nId
+ << " & text \"" << rStr << "\" & position " << nPos );
+
+ if ( eType == MenuItemType::SEPARATOR )
+ return InsertSeparator( rIdent, nPos );
+
MenuItemData* pData = new MenuItemData( rStr, rImage );
pData->nId = nId;
pData->sIdent = rIdent;
@@ -90,11 +96,14 @@ MenuItemData* MenuItemList::Insert(
} else {
maItemList.push_back( pData );
}
+
return pData;
}
-void MenuItemList::InsertSeparator(const OString &rIdent, size_t nPos)
+MenuItemData* MenuItemList::InsertSeparator( const OString &rIdent, size_t nPos )
{
+ SAL_WARN( "vcl", "MenuItemList::InsertSeparator with ident \"" << rIdent << "\" & position " << nPos );
+
MenuItemData* pData = new MenuItemData;
pData->nId = 0;
pData->sIdent = rIdent;
@@ -116,23 +125,94 @@ void MenuItemList::InsertSeparator(const OString &rIdent, size_t nPos)
aSalMIData.aText.clear();
aSalMIData.aImage = Image();
- // Native-support: returns NULL if not supported
+ // create native item returns nil if it is not supported
pData->pSalMenuItem = ImplGetSVData()->mpDefInst->CreateMenuItem( &aSalMIData );
if( nPos < maItemList.size() ) {
- maItemList.insert( maItemList.begin() + nPos, pData );
+ if ( maItemList[ nPos ] && maItemList[ nPos ]->eType != MenuItemType::SEPARATOR )
+ {
+ if ( nPos > 0 && maItemList[ nPos - 1 ] && maItemList[ nPos - 1 ]->eType != MenuItemType::SEPARATOR )
+ {
+ maItemList.insert( maItemList.begin() + nPos, pData );
+ }
+ else { SAL_WARN( "vcl", "separator is just above" ); }
+ }
+ else { SAL_WARN( "vcl", "separator is already here" ); }
} else {
- maItemList.push_back( pData );
+ if ( maItemList.back() && maItemList.back()->eType != MenuItemType::SEPARATOR )
+ {
+ maItemList.push_back( pData );
+ }
}
+
+ return pData;
}
-void MenuItemList::Remove( size_t nPos )
+void MenuItemList::RemoveMenuItem( size_t nPos )
{
if( nPos < maItemList.size() )
{
delete maItemList[ nPos ];
maItemList.erase( maItemList.begin() + nPos );
}
+
+ PeelSeparators();
+}
+
+// bin double separators and boundary ones
+bool MenuItemList::PeelSeparators( bool bLastOneToo )
+{
+ SAL_WARN( "vcl", "MenuItemList::PeelSeparators" );
+
+ bool bRet = false;
+
+ for ( size_t i = 1; i < maItemList.size(); ++i )
+ {
+ if ( ( maItemList[ i ] && maItemList[ i ]->eType == MenuItemType::SEPARATOR )
+ && ( maItemList[ i - 1 ] && maItemList[ i - 1 ]->eType == MenuItemType::SEPARATOR ) ) {
+ SAL_WARN( "vcl.window", "double separators @" << OUString::number( i ) << " & @" << OUString::number( i - 1 ) );
+ delete maItemList[ i ];
+ maItemList.erase( maItemList.begin() + i );
+ i--;
+ bRet = true;
+ }
+ }
+
+ while ( maItemList.size() > 0 )
+ {
+ if ( maItemList[ 0 ] && maItemList[ 0 ]->eType == MenuItemType::SEPARATOR )
+ {
+ SAL_WARN( "vcl.window", "first item @" << OUString::number( 0 )
+ << " \"" << maItemList[ 0 ]->aText
+ << "\" id " << OUString::number( maItemList[ 0 ]->nId )
+ << " is separator" );
+ delete maItemList[ 0 ];
+ maItemList.erase( maItemList.begin() );
+ bRet = true;
+ }
+ else { break; }
+ }
+
+ if ( bLastOneToo )
+ {
+ while ( maItemList.size() > 0 )
+ {
+ if ( maItemList[ maItemList.size() - 1 ]->eType == MenuItemType::SEPARATOR )
+ {
+ size_t n = maItemList.size() - 1;
+ SAL_WARN( "vcl.window", "last item @" << OUString::number( n )
+ << " \"" << maItemList[ n ]->aText
+ << "\" id " << OUString::number( maItemList[ n ]->nId )
+ << " is separator" );
+ delete maItemList[ n ];
+ maItemList.erase( maItemList.end() );
+ bRet = true;
+ }
+ else { break; }
+ }
+ }
+
+ return bRet;
}
MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const
diff --git a/vcl/source/window/menuitemlist.hxx b/vcl/source/window/menuitemlist.hxx
index 89befc1..a2eedb9 100644
--- a/vcl/source/window/menuitemlist.hxx
+++ b/vcl/source/window/menuitemlist.hxx
@@ -97,14 +97,13 @@ struct MenuItemData
class MenuItemList
{
private:
- typedef ::std::vector< MenuItemData* > MenuItemDataList_impl;
- MenuItemDataList_impl maItemList;
+ ::std::vector< MenuItemData* > maItemList;
public:
MenuItemList() {}
~MenuItemList();
- MenuItemData* Insert(
+ MenuItemData* InsertMenuItem(
sal_uInt16 nId,
MenuItemType eType,
MenuItemBits nBits,
@@ -114,8 +113,9 @@ public:
size_t nPos,
const OString &rIdent
);
- void InsertSeparator(const OString &rIdent, size_t nPos);
- void Remove( size_t nPos );
+ MenuItemData* InsertSeparator(const OString &rIdent, size_t nPos);
+ void RemoveMenuItem( size_t nPos );
+ bool PeelSeparators( bool bLastOneToo = false );
MenuItemData* GetData( sal_uInt16 nSVId, size_t& rPos ) const;
MenuItemData* GetData( sal_uInt16 nSVId ) const
commit a1b9a246a1b0dafea9e36c8d5c4a7ffe01290730
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Thu Sep 15 14:47:50 2016 -0400
Revert "remove use of Archive::Zip"
This reverts commit 4e3dc8c141c2efd037c1f214b5edff071812b6a8
because at build time
Can't locate object method "newdir" via package "File::Temp"
at solenv/bin/packimages.pl line 358
Change-Id: I8a6b218170ffde5b412f1c730dfe2c141c8cd3e4
diff --git a/README.Solaris b/README.Solaris
index a9ad888..ce460d9 100644
--- a/README.Solaris
+++ b/README.Solaris
@@ -20,6 +20,8 @@ sudo -s
pkg install git make gcc-45 autoconf autogen automake-110 gnu-m4
+perl -MCPAN -e 'install Archive::Zip::Archive'
+
pkg install pkg:/system/header at 0.5.11-0.175.0.0.0.2.1
pkg install pkg:/developer/gperf at 3.0.3-0.175.0.0.0.2.537
pkg install pkg:/developer/parser/bison at 2.3-0.175.0.0.0.2.537
diff --git a/configure.ac b/configure.ac
index 7afe0af..5e843d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5071,11 +5071,15 @@ dnl Testing for required Perl modules
dnl ===================================================================
AC_MSG_CHECKING([for required Perl modules])
-if `$PERL -e 'use Cwd; use Digest::MD5'>/dev/null 2>&1`; then
+if `$PERL -e 'use Archive::Zip; use Cwd; use Digest::MD5'>/dev/null 2>&1`; then
AC_MSG_RESULT([all modules found])
else
AC_MSG_RESULT([failed to find some modules])
# Find out which modules are missing.
+ missing_perl_modules=
+ if ! `$PERL -e 'use Archive::Zip;'>/dev/null 2>&1`; then
+ missing_perl_modules=Archive::Zip
+ fi
if ! `$PERL -e 'use Cwd;'>/dev/null 2>&1`; then
missing_perl_modules="$missing_perl_modules Cwd"
fi
diff --git a/solenv/bin/packimages.pl b/solenv/bin/packimages.pl
index e9875b5..d2831da 100644
--- a/solenv/bin/packimages.pl
+++ b/solenv/bin/packimages.pl
@@ -27,10 +27,9 @@ use strict;
use Getopt::Long;
use File::Find;
use File::Basename;
-use File::Copy qw(copy);
-use File::Path qw(make_path);
require File::Temp;
use File::Temp ();
+use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
#### globals ####
@@ -92,8 +91,7 @@ remove_links_from_zip_list($zip_hash_ref, \%links);
$do_rebuild = is_file_newer($zip_hash_ref) if $do_rebuild == 0;
if ( $do_rebuild == 1 ) {
- my $tmpdir = copy_images($zip_hash_ref);
- create_zip_archive($zip_hash_ref, \%links, $tmpdir);
+ create_zip_archive($zip_hash_ref, \%links);
replace_file($tmp_out_file, $out_file);
print_message("packing $out_file finished.") if $verbose;
} else {
@@ -352,50 +350,40 @@ sub optimize_zip_layout($)
return @sorted;
}
-sub copy_images($)
+sub create_zip_archive
{
- my ($zip_hash_ref) = @_;
- my $dir = File::Temp->newdir();
- foreach (keys %$zip_hash_ref) {
- my $path = $zip_hash_ref->{$_} . "/$_";
- my $outpath = $dir . "/$_";
- print_message("copying '$path' to '$outpath' ...") if $extra_verbose;
- if ( -e $path) {
- my $dirname = dirname($outpath);
- if (!-d $dirname) {
- make_path($dirname);
- }
- copy($path, $outpath)
- or print_error("can't add file '$path' to image dir: $!", 5);
- }
- }
- return $dir;
-}
-
-sub create_zip_archive($$$)
-{
- my ($zip_hash_ref, $links_hash_ref, $image_dir_ref) = @_;
+ my $zip_hash_ref = shift;
+ my $links_hash_ref = shift;
print_message("creating image archive ...") if $verbose;
+ my $zip = Archive::Zip->new();
- chdir $image_dir_ref;
-
+ my $linktmp;
if (keys %{$links_hash_ref}) {
- write_links($links_hash_ref, $image_dir_ref);
- system "zip $tmp_out_file links.txt";
- # print_error("failed to add links file: $!", 5);
+ $linktmp = write_links($links_hash_ref);
+ my $member = $zip->addFile($linktmp->filename, "links.txt", COMPRESSION_DEFLATED);
+ if (!$member) {
+ print_error("failed to add links file: $!", 5);
+ }
}
- my @sorted_list = optimize_zip_layout($zip_hash_ref);
- my $sorted_file = File::Temp->new();
- foreach my $item (@sorted_list) {
- print $sorted_file "$item\n";
+# FIXME: test - $member = addfile ... $member->desiredCompressionMethod( COMPRESSION_STORED );
+# any measurable performance win/loss ?
+ foreach ( optimize_zip_layout($zip_hash_ref) ) {
+ my $path = $zip_hash_ref->{$_} . "/$_";
+ print_message("zipping '$path' ...") if $extra_verbose;
+ if ( -e $path) {
+ my $member = $zip->addFile($path, $_, COMPRESSION_STORED);
+ if ( !$member ) {
+ print_error("can't add file '$path' to image zip archive: $!", 5);
+ }
+ }
}
- binmode $sorted_file; # flush
-
- system "cat $sorted_file | zip -0 -@ $tmp_out_file";
- # print_error("write image zip archive '$tmp_out_file' failed. Reason: $!", 6);
- chdir; # just go out of the temp dir
+ my $status = $zip->writeToFileNamed($tmp_out_file);
+ if ( $status != AZ_OK ) {
+ print_error("write image zip archive '$tmp_out_file' failed. Reason: $status", 6);
+ }
+ return;
}
sub replace_file
@@ -497,17 +485,18 @@ sub read_links($$)
close ($fh);
}
-# write out the links
-sub write_links($$)
+# write out the links to a tmp file
+sub write_links($)
{
- my ($links, $out_dir_ref) = @_;
- open (my $fh, ">", "$out_dir_ref/links.txt")
- || die "can't create links.txt";
+ my $links = shift;
+ my $tmp = File::Temp->new( TEMPLATE => "linksXXXXXXX" );
+ $tmp || die "can't create tmp: $!";
for my $missing (sort keys %{$links}) {
my $line = $missing . " " . $links->{$missing} . "\n";
- print $fh $line;
+ print $tmp $line;
}
- close $fh;
+ binmode $tmp; # force flush
+ return $tmp;
}
# Ensure that no link points to another link
commit 0f83c10a3a6f990971e33e308b1c16649636d1c6
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Mon Aug 29 14:55:50 2016 -0400
hey I want JDK 1.5 back and GCJ too
revert with some changes
7fe8c0b852fa421fe52de99a7f59e45027139eed Remove gcj support from build system
1b8c61d5ca8e2a7ae7a0bcd189b7a87defecea03 Bump JDK buildtime requirement to 1.6
16c0807d75cfd9ecbca9c703ed0eadda80529aab configure: reject Apple JDK
Change-Id: I13a36fa9bb500b74de9fca7f88225376a19697f5
diff --git a/config_host.mk.in b/config_host.mk.in
index eedc6d2..e918250 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -250,6 +250,7 @@ export HAVE_GCC_FNO_SIZED_DEALLOCATION=@HAVE_GCC_FNO_SIZED_DEALLOCATION@
export HAVE_GCC_GGDB2=@HAVE_GCC_GGDB2@
export HAVE_GCC_PRAGMA_OPERATOR=@HAVE_GCC_PRAGMA_OPERATOR@
export HAVE_GNUMAKE_FILE_FUNC=@HAVE_GNUMAKE_FILE_FUNC@
+export HAVE_JAVA6=@HAVE_JAVA6@
export HAVE_LD_BSYMBOLIC_FUNCTIONS=@HAVE_LD_BSYMBOLIC_FUNCTIONS@
export HAVE_LD_HASH_STYLE=@HAVE_LD_HASH_STYLE@
export HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION=@HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION@
@@ -284,6 +285,7 @@ export INSTDIR_FOR_BUILD=@INSTDIR_FOR_BUILD@
export INSTROOT=@INSTROOT@
export INSTROOT_FOR_BUILD=@INSTROOT_FOR_BUILD@
export IWYU_PATH=@IWYU_PATH@
+export JAVACISGCJ=@JAVACISGCJ@
export JAVACOMPILER=@JAVACOMPILER@
export JAVADOC=@JAVADOC@
export JAVADOCISGJDOC=@JAVADOCISGJDOC@
diff --git a/configure.ac b/configure.ac
index c47d24a..7afe0af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6842,6 +6842,7 @@ if test "$ENABLE_JAVA" != ""; then
fi
fi
+HAVE_JAVA6=
HAVE_JAVA9=
dnl ===================================================================
dnl Checks for JDK.
@@ -6859,7 +6860,11 @@ if test "$ENABLE_JAVA" != ""; then
if test `$JAVAINTERPRETER -version 2>&1 | $GREP -c "Kaffe"` -gt 0; then
AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
elif test `$JAVAINTERPRETER --version 2>&1 | $GREP -c "GNU libgcj"` -gt 0; then
- AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
+ JDK=gcj
+ AC_MSG_RESULT([checked (gcj)])
+ _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`
+ _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
+
elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "BEA"` -gt 0; then
AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "IBM"` -gt 0; then
@@ -6869,8 +6874,11 @@ if test "$ENABLE_JAVA" != ""; then
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
- if test "$_jdk_ver" -lt 10600; then
- AC_MSG_ERROR([IBM JDK is too old, you need at least 1.6])
+ if test "$_jdk_ver" -lt 10500; then
+ AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5])
+ fi
+ if test "$_jdk_ver" -ge 10600; then
+ HAVE_JAVA6=TRUE
fi
AC_MSG_RESULT([checked (IBM JDK $_jdk)])
@@ -6888,12 +6896,15 @@ you must use the "--with-jdk-home" configure option explicitly])
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
- if test "$_jdk_ver" -lt 10600; then
- AC_MSG_ERROR([JDK is too old, you need at least 1.6])
+ if test "$_jdk_ver" -lt 10500; then
+ AC_MSG_ERROR([JDK is too old, you need at least 1.5])
fi
if test "$_jdk_ver" -gt 10600; then
JAVA_CLASSPATH_NOT_SET="1"
fi
+ if test "$_jdk_ver" -ge 10600; then
+ HAVE_JAVA6=TRUE
+ fi
if test "$_jdk_ver" -ge 10900; then
HAVE_JAVA9=TRUE
fi
@@ -6910,13 +6921,15 @@ you must use the "--with-jdk-home" configure option explicitly])
JAVAFLAGS=-J-Xmx128M
fi
else
- AC_MSG_ERROR([Java not found. You need at least jdk-1.6])
+ AC_MSG_ERROR([Java not found. You need at least JDK 1.5 or GCJ])
fi
else
dnl Java disabled
JAVA_HOME=
export JAVA_HOME
fi
+AC_SUBST([HAVE_JAVA6])
+AC_SUBST([HAVE_JAVA9])
dnl ===================================================================
dnl Set target Java bytecode version
@@ -6935,7 +6948,11 @@ dnl ===================================================================
dnl Checks for javac
dnl ===================================================================
if test "$ENABLE_JAVA" != ""; then
- javacompiler="javac"
+ if test "$JDK" = "gcj"; then
+ javacompiler=`echo $with_java | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"`
+ else
+ javacompiler="javac"
+ fi
if test -z "$with_jdk_home"; then
AC_PATH_PROG(JAVACOMPILER, $javacompiler)
else
@@ -6954,7 +6971,25 @@ if test "$ENABLE_JAVA" != ""; then
fi
JAVACOMPILER=`win_short_path_for_make "$JAVACOMPILER"`
fi
+
+ if test `$JAVACOMPILER -version 2>&1 | $GREP -c "Eclipse Java Compiler"` -gt 0; then
+ AC_MSG_CHECKING([re-checking JDK])
+ JDK=gcj
+ AC_MSG_RESULT([checked (ecj)])
+ _gij_longver="40200"
+ fi
+fi
+
+JAVACISGCJ=""
+dnl ===================================================================
+dnl Checks that javac is gcj
+dnl ===================================================================
+if test "$ENABLE_JAVA" != ""; then
+ if test `$JAVACOMPILER --version 2>&1 | $GREP -c "GCC"` -gt 0; then
+ JAVACISGCJ="yes"
+ fi
fi
+AC_SUBST(JAVACISGCJ)
dnl ===================================================================
dnl Checks for javadoc
@@ -7071,28 +7106,24 @@ _ACEOF
fi
fi
- # now check if $JAVA_HOME is really valid
- if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then
- case "${JAVA_HOME}" in
- /Library/Java/JavaVirtualMachines/*)
- ;;
- *)
- AC_MSG_ERROR([JDK in $JAVA_HOME cannot be used in CppUnit tests - install Oracle JDK])
- ;;
- esac
- if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
+ dnl second sanity check JAVA_HOME if possible
+ if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then
+ # now check if $JAVA_HOME is really okay
+ if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then
+ if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
+ JAVA_HOME_OK="NO"
+ fi
+ elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
JAVA_HOME_OK="NO"
fi
- elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
- JAVA_HOME_OK="NO"
- fi
- if test "$JAVA_HOME_OK" = "NO"; then
- AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script])
- AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
- AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
- add_warning "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script"
- add_warning "attempted to find JAVA_HOME automatically, but apparently it failed"
- add_warning "in case JAVA_HOME is incorrectly set, some projects with not be built correctly"
+ if test "$JAVA_HOME_OK" = "NO"; then
+ AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home])
+ AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
+ AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
+ add_warning "JAVA_HOME was not explicitly informed with --with-jdk-home"
+ add_warning "attempted to find JAVA_HOME automatically, but apparently it failed"
+ add_warning "in case JAVA_HOME is incorrectly set, some projects with not be built correctly"
+ fi
fi
PathFormat "$JAVA_HOME"
JAVA_HOME="$formatted_path"
@@ -11897,7 +11928,12 @@ EOF
</project>
EOF
- AC_TRY_COMMAND("$ANT" -buildfile conftest.xml 1>&2)
+ oldJAVA_HOME=$JAVA_HOME
+ if test "$JAVACISGCJ" = "yes"; then
+ JAVA_HOME=; export JAVA_HOME
+ ant_gcj="-Dbuild.compiler=gcj"
+ fi
+ AC_TRY_COMMAND("$ANT" $ant_gcj -buildfile conftest.xml 1>&2)
if test $? = 0 -a -f ./conftest.class; then
AC_MSG_RESULT([Ant works])
if test -z "$WITH_ANT_HOME"; then
@@ -11914,6 +11950,7 @@ EOF
cat conftest.xml >&5
AC_MSG_ERROR([Ant does not work - Some Java projects will not build!])
fi
+ JAVA_HOME=$oldJAVA_HOME
rm -f conftest* core core.* *.core
fi
if test -z "$ANT_HOME"; then
@@ -12793,7 +12830,7 @@ else
case "$host_os" in
aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*)
- if test "$ENABLE_JAVA" != ""; then
+ if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then
pathmunge "$JAVA_HOME/bin" "after"
fi
;;
@@ -12832,7 +12869,7 @@ else
pathmunge "$COMPATH/bin" "before"
pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before"
fi
- if test "$ENABLE_JAVA" != ""; then
+ if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then
if test -d "$JAVA_HOME/jre/bin/client"; then
pathmunge "$JAVA_HOME/jre/bin/client" "before"
fi
@@ -12845,7 +12882,7 @@ else
solaris*)
pathmunge "/usr/css/bin" "before"
- if test "$ENABLE_JAVA" != ""; then
+ if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then
pathmunge "$JAVA_HOME/bin" "after"
fi
;;
diff --git a/external/apache-commons/ExternalProject_apache_commons_logging.mk b/external/apache-commons/ExternalProject_apache_commons_logging.mk
index c34b067..9d329aa 100644
--- a/external/apache-commons/ExternalProject_apache_commons_logging.mk
+++ b/external/apache-commons/ExternalProject_apache_commons_logging.mk
@@ -20,8 +20,10 @@ $(call gb_ExternalProject_get_state_target,apache_commons_logging,build) :
-q \
-f build.xml \
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
- -Dant.build.javac.source=$(JAVA_SOURCE_VER) \
- -Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dcompile.debug="true",-Dcompile.debug="false") \
compile build-jar \
)
diff --git a/external/beanshell/ExternalProject_beanshell.mk b/external/beanshell/ExternalProject_beanshell.mk
index eb76ad1..fd7846b 100644
--- a/external/beanshell/ExternalProject_beanshell.mk
+++ b/external/beanshell/ExternalProject_beanshell.mk
@@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,beanshell,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dbuild.debug="on") \
)
diff --git a/external/hsqldb/ExternalProject_hsqldb.mk b/external/hsqldb/ExternalProject_hsqldb.mk
index 07f93ad..cd8d4d3 100644
--- a/external/hsqldb/ExternalProject_hsqldb.mk
+++ b/external/hsqldb/ExternalProject_hsqldb.mk
@@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,hsqldb,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dbuild.debug="on") \
jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk b/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk
index 8be1e8a..7b8a567 100644
--- a/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk
@@ -23,6 +23,7 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flow_engine,build) :
-q \
-f build.xml \
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
+ -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \
$(if $(SYSTEM_APACHE_COMMONS),\
-Dcommons-logging.jar=$(COMMONS_LOGGING_JAR), \
-Dcommons-logging.jar="$(call gb_UnpackedTarball_get_dir,apache_commons_logging)/target/commons-logging-$(COMMONS_LOGGING_VERSION).jar") \
@@ -32,8 +33,9 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flow_engine,build) :
-Dlibloader.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libloader)/dist/libloader-$(LIBLOADER_VERSION).jar \
-Dlibserializer.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libserializer)/dist/libserializer-$(LIBBASE_VERSION).jar \
-Dlibxml.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libxml)/dist/libxml-$(LIBXML_VERSION).jar \
- -Dant.build.javac.source=$(JAVA_SOURCE_VER) \
- -Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_flute.mk b/external/jfreereport/ExternalProject_jfreereport_flute.mk
index c8dfc4c..a78ca65 100644
--- a/external/jfreereport/ExternalProject_jfreereport_flute.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_flute.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flute,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(FLUTE_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libbase.mk b/external/jfreereport/ExternalProject_jfreereport_libbase.mk
index 77bece5..2c0a079 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libbase.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libbase.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libbase,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBBASE_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libfonts.mk b/external/jfreereport/ExternalProject_jfreereport_libfonts.mk
index c71db70..5507732 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libfonts.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libfonts.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libfonts,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBFONTS_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libformula.mk b/external/jfreereport/ExternalProject_jfreereport_libformula.mk
index 7e985c8..e706d67 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libformula.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libformula.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libformula,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)),\
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBFORMULA_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_liblayout.mk b/external/jfreereport/ExternalProject_jfreereport_liblayout.mk
index 9a72002..bacd22a 100644
--- a/external/jfreereport/ExternalProject_jfreereport_liblayout.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_liblayout.mk
@@ -35,6 +35,7 @@ $(call gb_ExternalProject_get_state_target,jfreereport_liblayout,build) :
-q \
-f build.xml \
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
+ -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \
$(if $(SYSTEM_APACHE_COMMONS),\
-Dcommons-logging.jar=$(COMMONS_LOGGING_JAR), \
-Dcommons-logging.jar="$(call gb_UnpackedTarball_get_dir,apache_commons_logging)/target/commons-logging-$(COMMONS_LOGGING_VERSION).jar") \
@@ -47,10 +48,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_liblayout,build) :
-Dlibserializer.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libserializer)/dist/libserializer-$(LIBBASE_VERSION).jar \
-Dlibxml.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libxml)/dist/libxml-$(LIBXML_VERSION).jar \
-Dsac.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_sac)/build/lib/sac.jar \
- -Dant.build.javac.source=$(JAVA_SOURCE_VER) \
- -Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libloader.mk b/external/jfreereport/ExternalProject_jfreereport_libloader.mk
index 275ef12..5eb9417 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libloader.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libloader.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libloader,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBLOADER_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_librepository.mk b/external/jfreereport/ExternalProject_jfreereport_librepository.mk
index 8e953c3..2814457 100644
--- a/external/jfreereport/ExternalProject_jfreereport_librepository.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_librepository.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_librepository,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBREPOSITORY_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libserializer.mk b/external/jfreereport/ExternalProject_jfreereport_libserializer.mk
index 0e7ff25..7e8761d 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libserializer.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libserializer.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libserializer,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)) \
+ , -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBSERIALIZER_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_libxml.mk b/external/jfreereport/ExternalProject_jfreereport_libxml.mk
index bfe65a3..c6c24f6 100644
--- a/external/jfreereport/ExternalProject_jfreereport_libxml.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_libxml.mk
@@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libxml,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
- -Dbuild.id="10682" \
+ -Dbuild.id="12398" \
-Dproject.revision="$(LIBXML_VERSION)" \
$(if $(debug),-Dbuild.debug="on") jar \
)
diff --git a/external/jfreereport/ExternalProject_jfreereport_sac.mk b/external/jfreereport/ExternalProject_jfreereport_sac.mk
index ff17db9..99d9f25 100644
--- a/external/jfreereport/ExternalProject_jfreereport_sac.mk
+++ b/external/jfreereport/ExternalProject_jfreereport_sac.mk
@@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,jfreereport_sac,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
-Dantcontrib.available="true" \
$(if $(debug),-Dbuild.debug="on") all \
)
diff --git a/external/languagetool/ExternalProject_languagetool.mk b/external/languagetool/ExternalProject_languagetool.mk
index ebefbf0..5496017 100644
--- a/external/languagetool/ExternalProject_languagetool.mk
+++ b/external/languagetool/ExternalProject_languagetool.mk
@@ -28,6 +28,9 @@ $(call gb_ExternalProject_get_state_target,languagetool,build) :
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ)), \
+ -Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dbuild.debug="on") \
-Dext.ooo.juh.lib="$(call gb_Jar_get_target,juh)" \
-Dext.ooo.jurt.lib="$(call gb_Jar_get_target,jurt)" \
diff --git a/external/rhino/ExternalProject_rhino.mk b/external/rhino/ExternalProject_rhino.mk
index 6f0719d..3a62972 100644
--- a/external/rhino/ExternalProject_rhino.mk
+++ b/external/rhino/ExternalProject_rhino.mk
@@ -19,9 +19,11 @@ $(call gb_ExternalProject_get_state_target,rhino,build) :
-q \
-f build.xml \
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \
+ -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \
-DTARFILE_LOCATION="$(if $(findstring -cygwin,$(BUILD_PLATFORM)),$(shell cygpath -m $(TARFILE_LOCATION)),$(TARFILE_LOCATION))" \
- -Dant.build.javac.source=$(JAVA_SOURCE_VER) \
- -Dant.build.javac.target=$(JAVA_TARGET_VER) \
+ $(if $(filter yes,$(JAVACISGCJ))\
+ ,-Dbuild.compiler=gcj \
+ ) \
$(if $(debug),-Dbuild.debug="on") \
jar \
)
commit f4e628645c7cadc28427a1902a1fdccde5e55e8e
Author: Douglas Mencken <dougmencken at gmail.com>
Date: Tue Feb 2 22:08:25 2016 -0500
try to fix build of external:firebird
Change-ID: Ia07a2e34208763228bd78f5b6cbda78c78015d4b
diff --git a/external/firebird/InputDevices-darwin.patch b/external/firebird/InputDevices-darwin.patch
new file mode 100644
index 0000000..b5adbed
--- /dev/null
+++ b/external/firebird/InputDevices-darwin.patch
@@ -0,0 +1,15 @@
+--- src/isql/InputDevices.cpp
++++ src/isql/InputDevices.cpp
+@@ -22,11 +22,10 @@
+ */
+
+ #include "firebird.h"
++
+ #if defined(DARWIN) && !defined(IOS)
+ #if defined(i386) || defined(__x86_64__)
+ #include <architecture/i386/io.h>
+-#else
+-#include <io.h>
+ #endif
+ #endif
+
diff --git a/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch b/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch
new file mode 100644
index 0000000..02e7363
--- /dev/null
+++ b/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch
@@ -0,0 +1,46 @@
+From: asfernandes <asfernandes at users.sourceforge.net>
+Date: Sat, 5 Mar 2016 03:39:36 +0000
+Subject: Make the generated code compatible with gcc 6 in C++-14 mode.
+ (cherry picked from commit 3618aa2171674babf79ef935aa049c40a3db1321)
+Patch-mainline:
+Git-commit: 3618aa2171674babf79ef935aa049c40a3db1321
+References: bsc#964466 CORE-5099
+
+--- src/gpre/c_cxx.cpp
++++ src/gpre/c_cxx.cpp
+@@ -2004,7 +2004,7 @@
+ int ident = CMP_next_ident();
+ init->nod_arg[2] = (gpre_nod*)(IPTR)ident;
+
+- printa(0, "static %schar\n *isc_%da, *isc_%db;", CONST_STR, ident, ident);
++ printa(0, "static %sunsigned char\n *isc_%da, *isc_%db;", CONST_STR, ident, ident);
+ printa(0, "static short\n isc_%dl;", ident);
+
+ const gpre_nod* list = init->nod_arg[1];
+@@ -2820,7 +2820,7 @@
+ printa(0, "static %sshort\n isc_%dl = %d;",
+ (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR,
+ request->req_ident, request->req_length);
+- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident);
++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident);
+
+ const TEXT* string_type = "blr";
+ if (gpreGlob.sw_raw)
+@@ -2891,7 +2891,7 @@
+ {
+ printa(0, "static %sshort\n isc_%dl = %d;", CONST_STR,
+ reference->ref_sdl_ident, reference->ref_sdl_length);
+- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, reference->ref_sdl_ident);
++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, reference->ref_sdl_ident);
+ if (gpreGlob.sw_raw)
+ gen_raw(reference->ref_sdl, reference->ref_sdl_length);
+ else if (PRETTY_print_sdl(reference->ref_sdl, gen_blr, 0, 0))
+@@ -2909,7 +2909,7 @@
+ {
+ if (blob->blb_bpb_length)
+ {
+- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, blob->blb_bpb_ident);
++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, blob->blb_bpb_ident);
+ gen_raw(blob->blb_bpb, blob->blb_bpb_length);
+ printa(INDENT, "};\n");
+ }
diff --git a/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch b/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch
new file mode 100644
index 0000000..6f171db
--- /dev/null
+++ b/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch
@@ -0,0 +1,27 @@
+From: Michal Kubecek <mkubecek at suse.cz>
+Date: Mon, 25 Apr 2016 08:55:36 +0200
+Subject: Provide sized global delete operators when compiled in C++14 mode
+Patch-mainline: submitted
+Git-commit: 038f9fbf559e56032e4cb49eb7ce4c3ead23fda9
+References: bsc#964466 CORE-5099
+
+--- src/common/classes/alloc.h
++++ src/common/classes/alloc.h
+@@ -331,6 +331,17 @@
+ MemoryPool::globalFree(mem);
+ }
+
++#if __cplusplus >= 201402L
++inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) throw()
++{
++ MemoryPool::globalFree(mem);
++}
++inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) throw()
++{
++ MemoryPool::globalFree(mem);
++}
++#endif
++
+ #ifdef DEBUG_GDS_ALLOC
+
+ #ifdef __clang__
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index b65d041..300348c 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -14,14 +14,18 @@ $(eval $(call gb_UnpackedTarball_set_tarball,firebird,$(FIREBIRD_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,firebird,0))
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
+ external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch \
+ external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch \
external/firebird/firebird.disable-ib-util-not-found.patch.1 \
external/firebird/firebird-Engine12.patch \
external/firebird/firebird-rpath.patch.0 \
external/firebird/firebird-cloop-compiler.patch.1 \
- external/firebird/firebird-gcc6.patch.1 \
external/firebird/wnt-dbgutil.patch \
external/firebird/debug-gfix-failure.patch \
external/firebird/libc++.patch \
+ external/firebird/os_utils-O_CLOEXEC.patch \
+ external/firebird/remote-inet-SOL_TCP.patch \
+ external/firebird/my-own-version-of-strnlen.patch \
))
ifeq ($(OS)-$(COM),WNT-MSC)
@@ -32,10 +36,20 @@ endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
- external/firebird/firebird-configure-x86-64-macosx.patch.1 \
external/firebird/firebird-macosx.patch.1 \
- external/firebird/macosx-elcapitan-dyld.patch \
+ external/firebird/firebird-macosx-print-dyldlibpath.patch \
+ external/firebird/InputDevices-darwin.patch \
+))
+ifeq ($(CPUNAME),POWERPC)
+$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
+ external/firebird/lSystemStubs-darwin.patch \
+ external/firebird/prefix.darwin_powerpc.patch \
+ external/firebird/semaphore.h-darwin.patch \
+))
+else
+$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
+ external/firebird/firebird-configure-x86-64-macosx.patch.1 \
))
endif
-
+endif
# vim: set noet sw=4 ts=4:
diff --git a/external/firebird/firebird-gcc6.patch.1 b/external/firebird/firebird-gcc6.patch.1
deleted file mode 100644
index e136141..0000000
--- a/external/firebird/firebird-gcc6.patch.1
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 3618aa2171674babf79ef935aa049c40a3db1321
-Author: asfernandes <asfernandes at users.sourceforge.net>
-Date: Sat Mar 5 03:39:36 2016 +0000
-
- Make the generated code compatible with gcc 6 in C++-14 mode.
-
-diff --git a/src/gpre/c_cxx.cpp b/src/gpre/c_cxx.cpp
-index 2af96c6..2dcffd6 100644
---- a/src/gpre/c_cxx.cpp
-+++ b/src/gpre/c_cxx.cpp
-@@ -2820,7 +2820,7 @@ static void gen_request(const gpre_req* request)
- printa(0, "static %sshort\n isc_%dl = %d;",
- (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR,
- request->req_ident, request->req_length);
-- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident);
-+ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident);
-
- const TEXT* string_type = "blr";
- if (gpreGlob.sw_raw)
diff --git a/external/firebird/macosx-elcapitan-dyld.patch b/external/firebird/firebird-macosx-print-dyldlibpath.patch
similarity index 100%
rename from external/firebird/macosx-elcapitan-dyld.patch
rename to external/firebird/firebird-macosx-print-dyldlibpath.patch
diff --git a/external/firebird/lSystemStubs-darwin.patch b/external/firebird/lSystemStubs-darwin.patch
new file mode 100644
index 0000000..3523d4f
--- /dev/null
+++ b/external/firebird/lSystemStubs-darwin.patch
@@ -0,0 +1,44 @@
+--- configure
++++ configure
+@@ -2925,7 +2925,7 @@
+
+ $as_echo "#define DARWIN 1" >>confdefs.h
+
+- LIBS="$LIBS -framework CoreFoundation"
++ LIBS="$LIBS -lSystemStubs -framework CoreFoundation"
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+ EXPORT_SYMBOLS_STYLE=darwin
+--- configure.ac
++++ configure.ac
+@@ -117,7 +117,7 @@
+ PLATFORM=DARWIN
+ INSTALL_PREFIX=darwin
+ AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
+- XE_APPEND(-framework CoreFoundation,LIBS)
++ XE_APPEND(-lSystemStubs -framework CoreFoundation,LIBS)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+ dnl CPU_TYPE=ppc64
+--- extern/btyacc/Makefile
++++ extern/btyacc/Makefile
+@@ -17,7 +17,7 @@
+ # No LDFLAGS
+ #LDFLAGS=
+
+-LIBS=
++LIBS = -lSystemStubs
+
+ # For GNU environment, gmake will set $CC to gcc
+ # Other environments will have different values, maybe no GNU installed!
+--- extern/cloop/Makefile
++++ extern/cloop/Makefile
+@@ -4,7 +4,7 @@
+
+ TARGET := release
+
+-LD := $(CXX)
++LD := $(CXX) -lSystemStubs
+
+ SRC_DIR := src
+ BUILD_DIR := build
diff --git a/external/firebird/my-own-version-of-strnlen.patch b/external/firebird/my-own-version-of-strnlen.patch
new file mode 100644
index 0000000..c9b530a
--- /dev/null
+++ b/external/firebird/my-own-version-of-strnlen.patch
@@ -0,0 +1,51 @@
+--- src/auth/SecureRemotePassword/Message.h
++++ src/auth/SecureRemotePassword/Message.h
+@@ -19,6 +19,14 @@
+
+ #endif // INTERNAL_FIREBIRD
+
++/* My implementation of strnlen */
++static size_t my_strnlen( const char *s, size_t maxlen )
++{
++ const char *end = static_cast< const char * >( memchr( s, 0, maxlen ) );
++ return end ? static_cast< size_t >( end - s ) : maxlen;
++}
++
++
+ #ifdef INTERNAL_FIREBIRD
+ // This class helps to work with metadata iface
+ class Meta : public Firebird::RefPtr<Firebird::IMessageMetadata>
+@@ -347,7 +355,7 @@
+ const char* operator= (const char* newVal)
+ {
+ msg->getBuffer();
+- setStrValue(newVal, static_cast<unsigned>(strnlen(newVal, size)));
++ setStrValue(newVal, static_cast< unsigned >( my_strnlen( newVal, size ) ));
+ null = FB_FALSE;
+ return newVal;
+ }
+--- src/isql/isql.epp
++++ src/isql/isql.epp
+@@ -89,6 +89,13 @@
+ #include "editline.h"
+ #endif
+
++/* My implementation of strnlen */
++size_t my_strnlen( const char *s, size_t maxlen )
++{
++ const char *end = static_cast< const char * >( memchr( s, 0, maxlen ) );
++ return end ? static_cast< size_t >( end - s ) : maxlen;
++}
++
+ enum literal_string_type
+ {
+ INIT_STR_FLAG = 0,
+@@ -7179,7 +7186,7 @@
+ else
+ {
+ IcuUtil::pad(p, var->charSet,
+- static_cast<unsigned>(strnlen(var->value.asChar, var->length)),
++ static_cast<unsigned>( my_strnlen( var->value.asChar, var->length ) ),
+ var->value.asChar, length, false);
+ strcat(p, " ");
+ }
diff --git a/external/firebird/os_utils-O_CLOEXEC.patch b/external/firebird/os_utils-O_CLOEXEC.patch
new file mode 100644
index 0000000..c9ce3f8
--- /dev/null
+++ b/external/firebird/os_utils-O_CLOEXEC.patch
@@ -0,0 +1,13 @@
+--- src/common/os/posix/os_utils.cpp
++++ src/common/os/posix/os_utils.cpp
+@@ -251,6 +251,10 @@
+ #endif
+ }
+
++#ifndef O_CLOEXEC
++#define O_CLOEXEC 0
++#endif
++
+ // setting flag is not absolutely required, therefore ignore errors here
+ void setCloseOnExec(int fd)
+ {
diff --git a/external/firebird/prefix.darwin_powerpc.patch b/external/firebird/prefix.darwin_powerpc.patch
new file mode 100644
index 0000000..fa534fd
--- /dev/null
+++ b/external/firebird/prefix.darwin_powerpc.patch
@@ -0,0 +1,17 @@
+--- builds/posix/prefix.darwin_powerpc
++++ builds/posix/prefix.darwin_powerpc
+@@ -20,11 +20,11 @@
+ DYLD_LIBRARY_PATH=$(FIREBIRD)/lib
+ export DYLD_LIBRARY_PATH
+
+-MACOSX_DEPLOYMENT_TARGET=10.2
++MACOSX_DEPLOYMENT_TARGET=10.5
+ export MACOSX_DEPLOYMENT_TARGET
+
+-PROD_FLAGS=-DDARWIN -pipe -p -MMD -fPIC -fno-common -arch ppc -mmacosx-version-min=10.2
+-DEV_FLAGS=-ggdb -DDARWIN -pipe -p -MMD -fPIC -fno-common -Wall -arch ppc -mmacosx-version-min=10.2 -Wno-non-virtual-dtor
++PROD_FLAGS=-DDARWIN -pipe -p -MMD -fPIC -fno-common
++DEV_FLAGS=-ggdb -DDARWIN -pipe -p -MMD -fPIC -fno-common -Wall -Wno-non-virtual-dtor
+ CXXFLAGS:=$(CXXFLAGS) -fvisibility-inlines-hidden -fvisibility=hidden -fno-weak
+
+ EXE_LINK_OPTIONS:=
diff --git a/external/firebird/remote-inet-SOL_TCP.patch b/external/firebird/remote-inet-SOL_TCP.patch
new file mode 100644
index 0000000..a76927c
--- /dev/null
+++ b/external/firebird/remote-inet-SOL_TCP.patch
@@ -0,0 +1,15 @@
+--- src/remote/inet.cpp
++++ src/remote/inet.cpp
+@@ -803,11 +803,7 @@
+ gai_hints.ai_family = ((packet || host.hasData() || !ipv6) ? AF_UNSPEC : AF_INET6);
+ gai_hints.ai_socktype = SOCK_STREAM;
+
+-#if !defined(WIN_NT) && !defined(__clang__)
+- gai_hints.ai_protocol = SOL_TCP;
+-#else
+- gai_hints.ai_protocol = IPPROTO_TCP;
+-#endif
++ gai_hints.ai_protocol = getprotobyname("TCP")->p_proto;
+
+ gai_hints.ai_flags =
+ #ifndef ANDROID
diff --git a/external/firebird/semaphore.h-darwin.patch b/external/firebird/semaphore.h-darwin.patch
new file mode 100644
index 0000000..a409962
--- /dev/null
+++ b/external/firebird/semaphore.h-darwin.patch
@@ -0,0 +1,57 @@
+--- src/common/classes/semaphore.h
++++ src/common/classes/semaphore.h
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list