From e5723cc92622e245dd4e3a667913706a3a89d902 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 23 Oct 2012 21:59:43 +0000 Subject: [PATCH 01/16] [ADVAPI32] - Use LookupAccountNameW to retrieve the account SID when a user tries to log-on to a computer. - Little clean-up of LogonUserW. This is the first step to get rid of hard-coded logon stuff. svn path=/trunk/; revision=57601 --- reactos/dll/win32/advapi32/misc/logon.c | 136 +++++++++++++----------- 1 file changed, 76 insertions(+), 60 deletions(-) diff --git a/reactos/dll/win32/advapi32/misc/logon.c b/reactos/dll/win32/advapi32/misc/logon.c index 161cbd434ae..8dce3bf47ba 100644 --- a/reactos/dll/win32/advapi32/misc/logon.c +++ b/reactos/dll/win32/advapi32/misc/logon.c @@ -310,53 +310,72 @@ static BOOL WINAPI GetUserSid(LPCWSTR UserName, PSID *Sid) { - PSID AccountDomainSid = NULL; - ULONG ulUserRid; - DWORD dwLength; - HKEY hNamesKey = NULL; - BOOL bResult = TRUE; + PSID SidBuffer = NULL; + PWSTR DomainBuffer = NULL; + DWORD cbSidSize = 0; + DWORD cchDomSize = 0; + SID_NAME_USE Use; + BOOL res = TRUE; - if (!GetAccountDomainSid(&AccountDomainSid)) - { + *Sid = NULL; + + LookupAccountNameW(NULL, + UserName, + NULL, + &cbSidSize, + NULL, + &cchDomSize, + &Use); + + if (cbSidSize == 0 || cchDomSize == 0) return FALSE; - } - /* Open the Users\Names key */ - if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, - L"SAM\\SAM\\Domains\\Account\\Users\\Names", - 0, - KEY_READ, - &hNamesKey)) + SidBuffer = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + cbSidSize); + if (SidBuffer == NULL) + return FALSE; + + DomainBuffer = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + cchDomSize * sizeof(WCHAR)); + if (DomainBuffer == NULL) { - ERR("Failed to open Users\\Names key! (Error %lu)\n", GetLastError()); - bResult = FALSE; + res = FALSE; goto done; } - /* Read the user RID */ - dwLength = sizeof(ULONG); - if (RegQueryValueExW(hNamesKey, - UserName, - NULL, - NULL, - (LPBYTE)&ulUserRid, - &dwLength)) + if (!LookupAccountNameW(NULL, + UserName, + SidBuffer, + &cbSidSize, + DomainBuffer, + &cchDomSize, + &Use)) { - ERR("Failed to read the SID! (Error %ld)\n", GetLastError()); - bResult = FALSE; + res = FALSE; goto done; } - *Sid = AppendRidToSid(AccountDomainSid, ulUserRid); + if (Use != SidTypeUser) + { + res = FALSE; + goto done; + } + + *Sid = SidBuffer; done: - if (hNamesKey != NULL) - RegCloseKey(hNamesKey); + if (DomainBuffer != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, DomainBuffer); - if (AccountDomainSid != NULL) - RtlFreeHeap(RtlGetProcessHeap(), 0, AccountDomainSid); + if (res == FALSE) + { + if (SidBuffer != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, SidBuffer); + } - return bResult; + return res; } @@ -593,8 +612,8 @@ LogonUserW(LPWSTR lpszUsername, TOKEN_USER TokenUser; TOKEN_OWNER TokenOwner; TOKEN_PRIMARY_GROUP TokenPrimaryGroup; - PTOKEN_GROUPS TokenGroups; - PTOKEN_PRIVILEGES TokenPrivileges; + PTOKEN_GROUPS TokenGroups = NULL; + PTOKEN_PRIVILEGES TokenPrivileges = NULL; TOKEN_DEFAULT_DACL TokenDefaultDacl; LARGE_INTEGER ExpirationTime; LUID AuthenticationId; @@ -603,10 +622,10 @@ LogonUserW(LPWSTR lpszUsername, PSID PrimaryGroupSid = NULL; PSID OwnerSid = NULL; PSID LocalSystemSid; - PACL Dacl; - NTSTATUS Status; + PACL Dacl = NULL; SID_IDENTIFIER_AUTHORITY SystemAuthority = {SECURITY_NT_AUTHORITY}; unsigned i; + NTSTATUS Status = STATUS_SUCCESS; Qos.Length = sizeof(SECURITY_QUALITY_OF_SERVICE); Qos.ImpersonationLevel = SecurityAnonymous; @@ -641,11 +660,10 @@ LogonUserW(LPWSTR lpszUsername, /* Allocate and initialize token groups */ TokenGroups = AllocateGroupSids(&PrimaryGroupSid, &OwnerSid); - if (NULL == TokenGroups) + if (TokenGroups == NULL) { - RtlFreeSid(UserSid); - SetLastError(ERROR_OUTOFMEMORY); - return FALSE; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } /* Allocate and initialize token privileges */ @@ -653,12 +671,10 @@ LogonUserW(LPWSTR lpszUsername, sizeof(TOKEN_PRIVILEGES) + sizeof(DefaultPrivs) / sizeof(DefaultPrivs[0]) * sizeof(LUID_AND_ATTRIBUTES)); - if (NULL == TokenPrivileges) + if (TokenPrivileges == NULL) { - FreeGroupSids(TokenGroups); - RtlFreeSid(UserSid); - SetLastError(ERROR_OUTOFMEMORY); - return FALSE; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } TokenPrivileges->PrivilegeCount = 0; @@ -683,21 +699,13 @@ LogonUserW(LPWSTR lpszUsername, Dacl = RtlAllocateHeap(GetProcessHeap(), 0, 1024); if (Dacl == NULL) { - FreeGroupSids(TokenGroups); - RtlFreeSid(UserSid); - SetLastError(ERROR_OUTOFMEMORY); - return FALSE; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } Status = RtlCreateAcl(Dacl, 1024, ACL_REVISION); if (!NT_SUCCESS(Status)) - { - RtlFreeHeap(GetProcessHeap(), 0, Dacl); - FreeGroupSids(TokenGroups); - RtlFreeHeap(GetProcessHeap(), 0, TokenPrivileges); - RtlFreeSid(UserSid); - return FALSE; - } + goto done; RtlAddAccessAllowedAce(Dacl, ACL_REVISION, @@ -754,10 +762,18 @@ LogonUserW(LPWSTR lpszUsername, &TokenDefaultDacl, &TokenSource); - RtlFreeHeap(GetProcessHeap(), 0, Dacl); - FreeGroupSids(TokenGroups); - RtlFreeHeap(GetProcessHeap(), 0, TokenPrivileges); - RtlFreeSid(UserSid); +done: + if (Dacl != NULL) + RtlFreeHeap(GetProcessHeap(), 0, Dacl); + + if (TokenGroups != NULL) + FreeGroupSids(TokenGroups); + + if (TokenPrivileges != NULL) + RtlFreeHeap(GetProcessHeap(), 0, TokenPrivileges); + + if (UserSid != NULL) + RtlFreeHeap(GetProcessHeap(), 0, UserSid); return NT_SUCCESS(Status); } From b0caef1b6bd4a6332ec807e636f9443ec288903c Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 24 Oct 2012 09:37:08 +0000 Subject: [PATCH 02/16] [MOUHID] - Report absolute mouse in Flags MOUSE_INPUT_DATA member [HIDPARSER] - Fix data conversion when extracting unscaled data from reports - Fixes VBOX absolute pointing device - Tested with VBOX 4.1.22 - #Core-6553 #resolve svn path=/trunk/; revision=57603 --- reactos/drivers/hid/mouhid/mouhid.c | 10 +++++++--- reactos/lib/drivers/hidparser/api.c | 7 +++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/reactos/drivers/hid/mouhid/mouhid.c b/reactos/drivers/hid/mouhid/mouhid.c index 6ba3007048f..3163b876160 100644 --- a/reactos/drivers/hid/mouhid/mouhid.c +++ b/reactos/drivers/hid/mouhid/mouhid.c @@ -92,7 +92,8 @@ MouHid_GetButtonMove( VOID MouHid_GetButtonFlags( IN PMOUHID_DEVICE_EXTENSION DeviceExtension, - OUT PUSHORT ButtonFlags) + OUT PUSHORT ButtonFlags, + OUT PUSHORT Flags) { NTSTATUS Status; USAGE Usage; @@ -102,6 +103,7 @@ MouHid_GetButtonFlags( /* init flags */ *ButtonFlags = 0; + *Flags = 0; /* get usages */ CurrentUsageListLength = DeviceExtension->UsageListLength; @@ -170,7 +172,7 @@ MouHid_GetButtonFlags( if (DeviceExtension->MouseAbsolute) { // mouse operates absolute - *ButtonFlags |= MOUSE_MOVE_ABSOLUTE; + *Flags |= MOUSE_MOVE_ABSOLUTE; } } @@ -212,6 +214,7 @@ MouHid_ReadCompletion( NTSTATUS Status; LONG LastX, LastY; MOUSE_INPUT_DATA MouseInputData; + USHORT Flags; /* get device extension */ DeviceExtension = (PMOUHID_DEVICE_EXTENSION)Context; @@ -239,13 +242,14 @@ MouHid_ReadCompletion( MouHid_GetButtonMove(DeviceExtension, &LastX, &LastY); /* get mouse change flags */ - MouHid_GetButtonFlags(DeviceExtension, &ButtonFlags); + MouHid_GetButtonFlags(DeviceExtension, &ButtonFlags, &Flags); /* init input data */ RtlZeroMemory(&MouseInputData, sizeof(MOUSE_INPUT_DATA)); /* init input data */ MouseInputData.ButtonFlags = ButtonFlags; + MouseInputData.Flags = Flags; MouseInputData.LastX = LastX; MouseInputData.LastY = LastY; diff --git a/reactos/lib/drivers/hidparser/api.c b/reactos/lib/drivers/hidparser/api.c index ee77899ae21..c02ee043873 100644 --- a/reactos/lib/drivers/hidparser/api.c +++ b/reactos/lib/drivers/hidparser/api.c @@ -630,11 +630,10 @@ HidParser_GetUsageValueWithReport( ASSERT(ReportItem->ByteOffset < ReportDescriptorLength); // - // one extra shift for skipping the prepended report id + // FIXME: support items with variable bitlength // - Data = 0; - Parser->Copy(&Data, &ReportDescriptor[ReportItem->ByteOffset +1], min(sizeof(ULONG), ReportDescriptorLength - (ReportItem->ByteOffset + 1))); - //Data = ReportDescriptor[ReportItem->ByteOffset + 1]; + ASSERT(ReportItem->BitCount == 16); + Data = (ReportDescriptor[ReportItem->ByteOffset +1] & 0xFF) | (ReportDescriptor[ReportItem->ByteOffset +2] & 0xFF) << 8; // // shift data From 813e2cf2efe031448f614a78c458e2c85720c3bc Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 24 Oct 2012 15:40:46 +0000 Subject: [PATCH 03/16] [USBHUB] - Implement IOCTL_USB_GET_NODE_INFORMATION, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION, IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME svn path=/trunk/; revision=57604 --- reactos/drivers/usb/usbhub/fdo.c | 172 +++++++++++++++++++++++++++- reactos/drivers/usb/usbhub/usbhub.h | 1 + 2 files changed, 169 insertions(+), 4 deletions(-) diff --git a/reactos/drivers/usb/usbhub/fdo.c b/reactos/drivers/usb/usbhub/fdo.c index 65c529ccbe8..05cb20ec072 100644 --- a/reactos/drivers/usb/usbhub/fdo.c +++ b/reactos/drivers/usb/usbhub/fdo.c @@ -1133,7 +1133,7 @@ CreateUsbChildDeviceObject( ULONG ChildDeviceCount, UsbDeviceNumber = 0; WCHAR CharDeviceName[64]; UNICODE_STRING DeviceName; - ULONG ConfigDescSize, DeviceDescSize; + ULONG ConfigDescSize, DeviceDescSize, DeviceInfoSize; PVOID HubInterfaceBusContext; USB_CONFIGURATION_DESCRIPTOR ConfigDesc; @@ -1313,6 +1313,14 @@ CreateUsbChildDeviceObject( goto Cleanup; } + // query device details + Status = HubInterface->QueryDeviceInformation(HubInterfaceBusContext, + UsbChildExtension->UsbDeviceHandle, + &UsbChildExtension->DeviceInformation, + sizeof(USB_DEVICE_INFORMATION_0), + &DeviceInfoSize); + + //DumpFullConfigurationDescriptor(UsbChildExtension->FullConfigDesc); // @@ -2047,8 +2055,164 @@ USBHUB_FdoHandleDeviceControl( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { - DPRINT1("FdoHandleDeviceControl\n"); - UNIMPLEMENTED - return STATUS_NOT_IMPLEMENTED; + PIO_STACK_LOCATION IoStack; + NTSTATUS Status = STATUS_NOT_IMPLEMENTED; + PUSB_NODE_INFORMATION NodeInformation; + PHUB_DEVICE_EXTENSION HubDeviceExtension; + PUSB_NODE_CONNECTION_INFORMATION NodeConnectionInfo; + PHUB_CHILDDEVICE_EXTENSION ChildDeviceExtension; + PUSB_NODE_CONNECTION_DRIVERKEY_NAME NodeKey; + ULONG Index, Length; + + // get stack location + IoStack = IoGetCurrentIrpStackLocation(Irp); + + // get device extension + HubDeviceExtension = (PHUB_DEVICE_EXTENSION) DeviceObject->DeviceExtension; + + if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_USB_GET_NODE_INFORMATION) + { + // is the buffer big enough + if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(USB_NODE_INFORMATION)) + { + // buffer too small + Status = STATUS_BUFFER_TOO_SMALL; + } + else + { + // get buffer + NodeInformation = (PUSB_NODE_INFORMATION)Irp->AssociatedIrp.SystemBuffer; + + // sanity check + ASSERT(NodeInformation); + + // init buffer + NodeInformation->NodeType = UsbHub; + RtlCopyMemory(&NodeInformation->u.HubInformation.HubDescriptor, &HubDeviceExtension->HubDescriptor, sizeof(USB_HUB_DESCRIPTOR)); + + // FIXME is hub powered + NodeInformation->u.HubInformation.HubIsBusPowered = TRUE; + + // done + Irp->IoStatus.Information = sizeof(USB_NODE_INFORMATION); + Status = STATUS_SUCCESS; + } + + + } + else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_USB_GET_NODE_CONNECTION_INFORMATION) + { + if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(USB_NODE_CONNECTION_INFORMATION)) + { + // buffer too small + Status = STATUS_BUFFER_TOO_SMALL; + } + else + { + // get node connection info + NodeConnectionInfo = (PUSB_NODE_CONNECTION_INFORMATION)Irp->AssociatedIrp.SystemBuffer; + + // sanity checks + ASSERT(NodeConnectionInfo); + + for(Index = 0; Index < USB_MAXCHILDREN; Index++) + { + if (HubDeviceExtension->ChildDeviceObject[Index] == NULL) + continue; + + // get child device extension + ChildDeviceExtension = (PHUB_CHILDDEVICE_EXTENSION)HubDeviceExtension->ChildDeviceObject[Index]->DeviceExtension; + + if (ChildDeviceExtension->PortNumber != NodeConnectionInfo->ConnectionIndex) + continue; + + // init node connection info + RtlCopyMemory(&NodeConnectionInfo->DeviceDescriptor, &ChildDeviceExtension->DeviceDesc, sizeof(USB_DEVICE_DESCRIPTOR)); + NodeConnectionInfo->CurrentConfigurationValue = ChildDeviceExtension->FullConfigDesc->bConfigurationValue; + NodeConnectionInfo->DeviceIsHub = FALSE; //FIXME support hubs + NodeConnectionInfo->LowSpeed = ChildDeviceExtension->DeviceInformation.DeviceSpeed == UsbLowSpeed; + NodeConnectionInfo->DeviceAddress = ChildDeviceExtension->DeviceInformation.DeviceAddress; + NodeConnectionInfo->NumberOfOpenPipes = ChildDeviceExtension->DeviceInformation.NumberOfOpenPipes; + NodeConnectionInfo->ConnectionStatus = DeviceConnected; //FIXME + + if (NodeConnectionInfo->NumberOfOpenPipes) + { + DPRINT1("Need to copy pipe information\n"); + } + break; + } + + // done + Irp->IoStatus.Information = sizeof(USB_NODE_INFORMATION); + Status = STATUS_SUCCESS; + } + } + else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME) + { + if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(USB_NODE_CONNECTION_INFORMATION)) + { + // buffer too small + Status = STATUS_BUFFER_TOO_SMALL; + } + else + { + // get node connection info + NodeKey = (PUSB_NODE_CONNECTION_DRIVERKEY_NAME)Irp->AssociatedIrp.SystemBuffer; + + // sanity checks + ASSERT(NodeKey); + + for(Index = 0; Index < USB_MAXCHILDREN; Index++) + { + if (HubDeviceExtension->ChildDeviceObject[Index] == NULL) + continue; + + // get child device extension + ChildDeviceExtension = (PHUB_CHILDDEVICE_EXTENSION)HubDeviceExtension->ChildDeviceObject[Index]->DeviceExtension; + + if (ChildDeviceExtension->PortNumber != NodeKey->ConnectionIndex) + continue; + + // get driver key + Status = IoGetDeviceProperty(HubDeviceExtension->ChildDeviceObject[Index], DevicePropertyDriverKeyName, + IoStack->Parameters.DeviceIoControl.OutputBufferLength - sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME), + NodeKey->DriverKeyName, + &Length); + + if (Status == STATUS_BUFFER_TOO_SMALL) + { + // normalize status + Status = STATUS_SUCCESS; + } + + if (Length + sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME) > IoStack->Parameters.DeviceIoControl.OutputBufferLength) + { + // terminate node key name + NodeKey->DriverKeyName[0] = 0; + Irp->IoStatus.Information = sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME); + } + else + { + // result size + Irp->IoStatus.Information = Length + sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME); + } + + // length of driver name + NodeKey->ActualLength = Length + sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME); + break; + } + } + } + else + { + DPRINT1("UNIMPLEMENTED FdoHandleDeviceControl IoCtl %x InputBufferLength %x OutputBufferLength %x\n", IoStack->Parameters.DeviceIoControl.IoControlCode, + IoStack->Parameters.DeviceIoControl.InputBufferLength, IoStack->Parameters.DeviceIoControl.OutputBufferLength); + } + + // finish irp + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return Status; } diff --git a/reactos/drivers/usb/usbhub/usbhub.h b/reactos/drivers/usb/usbhub/usbhub.h index 52d62e2540b..ab49ced1487 100644 --- a/reactos/drivers/usb/usbhub/usbhub.h +++ b/reactos/drivers/usb/usbhub/usbhub.h @@ -68,6 +68,7 @@ typedef struct _HUB_CHILDDEVICE_EXTENSION PUSB_CONFIGURATION_DESCRIPTOR FullConfigDesc; UNICODE_STRING SymbolicLinkName; USB_BUS_INTERFACE_USBDI_V2 DeviceInterface; + USB_DEVICE_INFORMATION_0 DeviceInformation; } HUB_CHILDDEVICE_EXTENSION, *PHUB_CHILDDEVICE_EXTENSION; typedef struct _HUB_DEVICE_EXTENSION From b00eb852b3d86a2237fa265f45a0b79d7436ecaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 24 Oct 2012 21:44:47 +0000 Subject: [PATCH 04/16] [DLLs] - Don't set entrypoint to 0 for those which don't provide DllMain svn path=/trunk/; revision=57606 --- reactos/dll/3rdparty/libjpeg/CMakeLists.txt | 4 +--- reactos/dll/3rdparty/libpng/CMakeLists.txt | 1 - reactos/dll/3rdparty/libtiff/CMakeLists.txt | 2 +- reactos/dll/3rdparty/libxslt/CMakeLists.txt | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt index 1356e31a0f0..10ef59a6708 100644 --- a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt +++ b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt @@ -3,8 +3,7 @@ add_definitions( -DWIN32 -D_WINDOWS -D_MBCS - -DJPEG_DLL - -Dmain=mainptr) + -DJPEG_DLL) include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg @@ -58,7 +57,6 @@ add_library(libjpeg SHARED jmemmgr.c jmemnobs.c) -set_entrypoint(libjpeg 0) add_importlibs(libjpeg msvcrt kernel32) add_dependencies(libjpeg psdk) add_cd_file(TARGET libjpeg DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/3rdparty/libpng/CMakeLists.txt b/reactos/dll/3rdparty/libpng/CMakeLists.txt index d88ea48af71..00a84dbc5f7 100644 --- a/reactos/dll/3rdparty/libpng/CMakeLists.txt +++ b/reactos/dll/3rdparty/libpng/CMakeLists.txt @@ -26,7 +26,6 @@ add_library(libpng SHARED pngwtran.c pngwutil.c) -set_entrypoint(libpng 0) target_link_libraries(libpng zlib) add_importlibs(libpng msvcrt kernel32 ntdll) add_dependencies(libpng psdk) diff --git a/reactos/dll/3rdparty/libtiff/CMakeLists.txt b/reactos/dll/3rdparty/libtiff/CMakeLists.txt index 553ace51be7..e2ba3603584 100644 --- a/reactos/dll/3rdparty/libtiff/CMakeLists.txt +++ b/reactos/dll/3rdparty/libtiff/CMakeLists.txt @@ -50,7 +50,7 @@ add_library(libtiff SHARED tif_write.c tif_zip.c) -set_module_type(libtiff win32dll ENTRYPOINT 0) +set_module_type(libtiff win32dll) target_link_libraries(libtiff zlib getopt) add_importlibs(libtiff user32 msvcrt kernel32 ntdll) add_dependencies(libtiff psdk) diff --git a/reactos/dll/3rdparty/libxslt/CMakeLists.txt b/reactos/dll/3rdparty/libxslt/CMakeLists.txt index 6e0282a2fa5..2ddadd2a382 100644 --- a/reactos/dll/3rdparty/libxslt/CMakeLists.txt +++ b/reactos/dll/3rdparty/libxslt/CMakeLists.txt @@ -33,7 +33,7 @@ add_library(libxslt SHARED xsltlocale.c xsltutils.c) -set_module_type(libxslt win32dll ENTRYPOINT 0) +set_module_type(libxslt win32dll) target_link_libraries(libxslt libxml2) add_importlibs(libxslt msvcrt ws2_32 kernel32) From e746ee6e895b444c872784e3ec63a7bd8c894355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 24 Oct 2012 21:49:09 +0000 Subject: [PATCH 05/16] [libjpeg] - fix build svn path=/trunk/; revision=57607 --- reactos/dll/3rdparty/libjpeg/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt index 10ef59a6708..516faba31fd 100644 --- a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt +++ b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt @@ -3,7 +3,8 @@ add_definitions( -DWIN32 -D_WINDOWS -D_MBCS - -DJPEG_DLL) + -DJPEG_DLL + -Dmain=mainptr) include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg From bec3a1f913232b8dbc0bf6e41662d7741259eca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 24 Oct 2012 22:03:25 +0000 Subject: [PATCH 06/16] [DLLS] - Those libraries are actual DLLs svn path=/trunk/; revision=57609 --- reactos/dll/3rdparty/libjpeg/CMakeLists.txt | 1 + reactos/dll/3rdparty/libpng/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt index 516faba31fd..bd04bafc395 100644 --- a/reactos/dll/3rdparty/libjpeg/CMakeLists.txt +++ b/reactos/dll/3rdparty/libjpeg/CMakeLists.txt @@ -58,6 +58,7 @@ add_library(libjpeg SHARED jmemmgr.c jmemnobs.c) +set_module_type(libjpeg win32dll) add_importlibs(libjpeg msvcrt kernel32) add_dependencies(libjpeg psdk) add_cd_file(TARGET libjpeg DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/3rdparty/libpng/CMakeLists.txt b/reactos/dll/3rdparty/libpng/CMakeLists.txt index 00a84dbc5f7..fb27d36fae1 100644 --- a/reactos/dll/3rdparty/libpng/CMakeLists.txt +++ b/reactos/dll/3rdparty/libpng/CMakeLists.txt @@ -26,6 +26,7 @@ add_library(libpng SHARED pngwtran.c pngwutil.c) +set_module_type(libpng win32dll) target_link_libraries(libpng zlib) add_importlibs(libpng msvcrt kernel32 ntdll) add_dependencies(libpng psdk) From 68f5fd309df89afc6c71eb8315610dd605db3678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 25 Oct 2012 00:10:20 +0000 Subject: [PATCH 07/16] [SHELL32] - remove invalid pointer from list in case of failure to add the icon to the image list svn path=/trunk/; revision=57613 --- reactos/dll/win32/shell32/iconcache.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/shell32/iconcache.cpp b/reactos/dll/win32/shell32/iconcache.cpp index 242b5919f26..1b8594f5fa1 100644 --- a/reactos/dll/win32/shell32/iconcache.cpp +++ b/reactos/dll/win32/shell32/iconcache.cpp @@ -323,7 +323,7 @@ fail: static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallIcon, HICON hBigIcon, DWORD dwFlags) { LPSIC_ENTRY lpsice; - INT ret, index, index1; + INT ret, index, index1, indexDPA; WCHAR path[MAX_PATH]; TRACE("%s %i %p %p\n", debugstr_w(sSourceFile), dwSourceIndex, hSmallIcon ,hBigIcon); @@ -338,8 +338,8 @@ static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallI EnterCriticalSection(&SHELL32_SicCS); - index = DPA_InsertPtr(sic_hdpa, 0x7fff, lpsice); - if ( INVALID_INDEX == index ) + indexDPA = DPA_InsertPtr(sic_hdpa, 0x7fff, lpsice); + if ( -1 == indexDPA ) { ret = INVALID_INDEX; goto leave; @@ -370,6 +370,7 @@ static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallI leave: if(ret == INVALID_INDEX) { + if(indexDPA != -1) DPA_DeletePtr(sic_hdpa, indexDPA); HeapFree(GetProcessHeap(), 0, lpsice->sSourceFile); SHFree(lpsice); } From 3ab390e1300f871feee8d5880edbaecf776197ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 25 Oct 2012 13:05:30 +0000 Subject: [PATCH 08/16] [CONFIGURE_SH] - Add the ability to use the ninja generator with unix configure script svn path=/trunk/; revision=57614 --- reactos/configure.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/reactos/configure.sh b/reactos/configure.sh index 039591cd6b5..f5d289c0eb2 100755 --- a/reactos/configure.sh +++ b/reactos/configure.sh @@ -9,6 +9,11 @@ BUILD_ENVIRONMENT=MinGW ARCH=$ROS_ARCH REACTOS_SOURCE_DIR=$(cd `dirname $0` && pwd) REACTOS_OUTPUT_PATH=output-$BUILD_ENVIRONMENT-$ARCH +if [ "$1" = "ninja" ]; then +CMAKE_GENERATOR="Ninja" +else +CMAKE_GENERATOR="Unix Makefiles" +fi if [ "$REACTOS_SOURCE_DIR" = "$PWD" ]; then echo Creating directories in $REACTOS_OUTPUT_PATH @@ -23,12 +28,12 @@ cd host-tools rm -f CMakeCache.txt REACTOS_BUILD_TOOLS_DIR="$PWD" -cmake -G "Unix Makefiles" -DARCH=$ARCH "$REACTOS_SOURCE_DIR" +cmake -G "$CMAKE_GENERATOR" -DARCH=$ARCH "$REACTOS_SOURCE_DIR" echo Preparing reactos... cd ../reactos rm -f CMakeCache.txt -cmake -G "Unix Makefiles" -DENABLE_CCACHE=0 -DPCH=0 -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -DARCH=$ARCH -DREACTOS_BUILD_TOOLS_DIR="$REACTOS_BUILD_TOOLS_DIR" "$REACTOS_SOURCE_DIR" +cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE=0 -DPCH=0 -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -DARCH=$ARCH -DREACTOS_BUILD_TOOLS_DIR="$REACTOS_BUILD_TOOLS_DIR" "$REACTOS_SOURCE_DIR" echo Configure script complete! Enter directories and execute appropriate build commands\(ex: make, makex, etc...\). From d0d756519b8bf7859e969da46b7e6cc407903a33 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 25 Oct 2012 14:27:02 +0000 Subject: [PATCH 09/16] [NTOSKRNL] - Dereference the correct device object in the power completion routine - Fixes crash with ftdibus.sys svn path=/trunk/; revision=57615 --- reactos/ntoskrnl/po/power.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/po/power.c b/reactos/ntoskrnl/po/power.c index 3ccb9babc72..b174e200752 100644 --- a/reactos/ntoskrnl/po/power.c +++ b/reactos/ntoskrnl/po/power.c @@ -21,6 +21,7 @@ typedef struct _REQUEST_POWER_ITEM PREQUEST_POWER_COMPLETE CompletionRoutine; POWER_STATE PowerState; PVOID Context; + PDEVICE_OBJECT TopDeviceObject; } REQUEST_POWER_ITEM, *PREQUEST_POWER_ITEM; typedef struct _POWER_STATE_TRAVERSE_CONTEXT @@ -56,10 +57,10 @@ PopRequestPowerIrpCompletion(IN PDEVICE_OBJECT DeviceObject, RequestPowerItem->Context, &Irp->IoStatus); - ExFreePool(Context); - IoFreeIrp(Irp); - ObDereferenceObject(DeviceObject); + + ObDereferenceObject(RequestPowerItem->TopDeviceObject); + ExFreePool(Context); return STATUS_MORE_PROCESSING_REQUIRED; } @@ -573,6 +574,7 @@ PoRequestPowerIrp(IN PDEVICE_OBJECT DeviceObject, RequestPowerItem->CompletionRoutine = CompletionFunction; RequestPowerItem->PowerState = PowerState; RequestPowerItem->Context = Context; + RequestPowerItem->TopDeviceObject = TopDeviceObject; if (pIrp != NULL) *pIrp = Irp; From b1002c5e57a5f0336d875af3789fd14f23f7b14e Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 25 Oct 2012 15:36:09 +0000 Subject: [PATCH 10/16] [USBHUB] - Partly implement IOCTL_USB_GET_NODE_CONNECTION_NAME - Complete power irps svn path=/trunk/; revision=57616 --- reactos/drivers/usb/usbhub/fdo.c | 23 ++++++++++++++++++-- reactos/drivers/usb/usbhub/usbhub.c | 33 ++++++++++++++++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/reactos/drivers/usb/usbhub/fdo.c b/reactos/drivers/usb/usbhub/fdo.c index 05cb20ec072..ff56169ebdd 100644 --- a/reactos/drivers/usb/usbhub/fdo.c +++ b/reactos/drivers/usb/usbhub/fdo.c @@ -2062,6 +2062,7 @@ USBHUB_FdoHandleDeviceControl( PUSB_NODE_CONNECTION_INFORMATION NodeConnectionInfo; PHUB_CHILDDEVICE_EXTENSION ChildDeviceExtension; PUSB_NODE_CONNECTION_DRIVERKEY_NAME NodeKey; + PUSB_NODE_CONNECTION_NAME ConnectionName; ULONG Index, Length; // get stack location @@ -2141,7 +2142,6 @@ USBHUB_FdoHandleDeviceControl( } break; } - // done Irp->IoStatus.Information = sizeof(USB_NODE_INFORMATION); Status = STATUS_SUCCESS; @@ -2188,7 +2188,7 @@ USBHUB_FdoHandleDeviceControl( if (Length + sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME) > IoStack->Parameters.DeviceIoControl.OutputBufferLength) { // terminate node key name - NodeKey->DriverKeyName[0] = 0; + NodeKey->DriverKeyName[0] = UNICODE_NULL; Irp->IoStatus.Information = sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME); } else @@ -2203,6 +2203,25 @@ USBHUB_FdoHandleDeviceControl( } } } + else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_USB_GET_NODE_CONNECTION_NAME) + { + if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(USB_NODE_CONNECTION_NAME)) + { + // buffer too small + Status = STATUS_BUFFER_TOO_SMALL; + } + else + { + // FIXME support hubs + ConnectionName = (PUSB_NODE_CONNECTION_NAME)Irp->AssociatedIrp.SystemBuffer; + ConnectionName->ActualLength = 0; + ConnectionName->NodeName[0] = UNICODE_NULL; + + // done + Irp->IoStatus.Information = sizeof(USB_NODE_CONNECTION_NAME); + Status = STATUS_SUCCESS; + } + } else { DPRINT1("UNIMPLEMENTED FdoHandleDeviceControl IoCtl %x InputBufferLength %x OutputBufferLength %x\n", IoStack->Parameters.DeviceIoControl.IoControlCode, diff --git a/reactos/drivers/usb/usbhub/usbhub.c b/reactos/drivers/usb/usbhub/usbhub.c index 5e14a97d984..f34c4e44157 100644 --- a/reactos/drivers/usb/usbhub/usbhub.c +++ b/reactos/drivers/usb/usbhub/usbhub.c @@ -184,8 +184,39 @@ USBHUB_DispatchPower( PDEVICE_OBJECT DeviceObject, PIRP Irp) { + PIO_STACK_LOCATION IoStack; + + IoStack = IoGetCurrentIrpStackLocation(Irp); + DPRINT1("Power Function %x\n", IoStack->MinorFunction); + + if (IoStack->MinorFunction == IRP_MN_SET_POWER) + { + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + + } + else if (IoStack->MinorFunction == IRP_MN_QUERY_POWER) + { + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + + } + else if (IoStack->MinorFunction == IRP_MN_WAIT_WAKE) + { + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } + + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_NO_INCREMENT); - return STATUS_NOT_SUPPORTED; + return STATUS_SUCCESS; } VOID From 8226ec480782e872849d3a0f2a69d9013cdc4886 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 25 Oct 2012 17:17:25 +0000 Subject: [PATCH 11/16] [USBSTOR] - Don't flush srb queue because the storage stack is not ready for it yet - Fixes crash during shutdown svn path=/trunk/; revision=57617 --- reactos/drivers/usb/usbstor/disk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/usb/usbstor/disk.c b/reactos/drivers/usb/usbstor/disk.c index 8a11d828258..888359167a1 100644 --- a/reactos/drivers/usb/usbstor/disk.c +++ b/reactos/drivers/usb/usbstor/disk.c @@ -174,11 +174,13 @@ USBSTOR_HandleInternalDeviceControl( { DPRINT1("SRB_FUNCTION_FLUSH / SRB_FUNCTION_FLUSH_QUEUE / SRB_FUNCTION_SHUTDOWN\n"); + // HACK: don't flush pending requests +#if 0 // we really need a proper storage stack // // wait for pending requests to finish // USBSTOR_QueueWaitForPendingRequests(PDODeviceExtension->LowerDeviceObject); - +#endif // // set status success // From 53d84440300c26d60d8a05faa99cde1620df5cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Sat, 27 Oct 2012 13:44:35 +0000 Subject: [PATCH 12/16] [GLU32] - From version 9.0, mesa doesn't ship the glu library anymore. It is maintained in another tree. - Introduce glu 9.0 to ReactOS code base. svn path=/trunk/; revision=57621 --- reactos/dll/opengl/CMakeLists.txt | 3 +- reactos/dll/opengl/glu32/.gitignore | 48 +++ reactos/dll/opengl/glu32/CMakeLists.txt | 132 +++++++ .../{mesa/src/glu/sgi => glu32}/glu32.spec | 0 reactos/dll/opengl/glu32/include/GL/glu.h | 353 ++++++++++++++++++ .../dll/opengl/glu32/include/GL/glu_mangle.h | 86 +++++ .../src/glu/sgi => glu32/src}/include/gluos.h | 0 .../src}/libnurbs/interface/bezierEval.cc | 0 .../src}/libnurbs/interface/bezierEval.h | 0 .../src}/libnurbs/interface/bezierPatch.cc | 0 .../src}/libnurbs/interface/bezierPatch.h | 0 .../libnurbs/interface/bezierPatchMesh.cc | 0 .../src}/libnurbs/interface/bezierPatchMesh.h | 0 .../src}/libnurbs/interface/glcurveval.cc | 0 .../src}/libnurbs/interface/glcurveval.h | 0 .../src}/libnurbs/interface/glimports.h | 0 .../src}/libnurbs/interface/glinterface.cc | 0 .../src}/libnurbs/interface/glrenderer.cc | 0 .../src}/libnurbs/interface/glrenderer.h | 0 .../src}/libnurbs/interface/glsurfeval.cc | 0 .../src}/libnurbs/interface/glsurfeval.h | 0 .../src}/libnurbs/interface/incurveeval.cc | 0 .../src}/libnurbs/interface/insurfeval.cc | 0 .../src}/libnurbs/interface/mystdio.h | 0 .../src}/libnurbs/interface/mystdlib.h | 0 .../src}/libnurbs/internals/arc.cc | 0 .../src}/libnurbs/internals/arc.h | 0 .../src}/libnurbs/internals/arcsorter.cc | 0 .../src}/libnurbs/internals/arcsorter.h | 0 .../src}/libnurbs/internals/arctess.cc | 0 .../src}/libnurbs/internals/arctess.h | 0 .../src}/libnurbs/internals/backend.cc | 0 .../src}/libnurbs/internals/backend.h | 0 .../src}/libnurbs/internals/basiccrveval.cc | 0 .../src}/libnurbs/internals/basiccrveval.h | 0 .../src}/libnurbs/internals/basicsurfeval.cc | 0 .../src}/libnurbs/internals/basicsurfeval.h | 0 .../src}/libnurbs/internals/bezierarc.h | 0 .../src}/libnurbs/internals/bin.cc | 0 .../src}/libnurbs/internals/bin.h | 0 .../src}/libnurbs/internals/bufpool.cc | 0 .../src}/libnurbs/internals/bufpool.h | 0 .../src}/libnurbs/internals/cachingeval.cc | 0 .../src}/libnurbs/internals/cachingeval.h | 0 .../src}/libnurbs/internals/ccw.cc | 0 .../src}/libnurbs/internals/coveandtiler.cc | 0 .../src}/libnurbs/internals/coveandtiler.h | 0 .../src}/libnurbs/internals/curve.cc | 0 .../src}/libnurbs/internals/curve.h | 0 .../src}/libnurbs/internals/curvelist.cc | 0 .../src}/libnurbs/internals/curvelist.h | 0 .../src}/libnurbs/internals/curvesub.cc | 0 .../src}/libnurbs/internals/dataTransform.cc | 0 .../src}/libnurbs/internals/dataTransform.h | 0 .../src}/libnurbs/internals/defines.h | 0 .../src}/libnurbs/internals/displaylist.cc | 0 .../src}/libnurbs/internals/displaylist.h | 0 .../src}/libnurbs/internals/displaymode.h | 0 .../src}/libnurbs/internals/flist.cc | 0 .../src}/libnurbs/internals/flist.h | 0 .../src}/libnurbs/internals/flistsorter.cc | 0 .../src}/libnurbs/internals/flistsorter.h | 0 .../src}/libnurbs/internals/gridline.h | 0 .../src}/libnurbs/internals/gridtrimvertex.h | 0 .../src}/libnurbs/internals/gridvertex.h | 0 .../src}/libnurbs/internals/hull.cc | 0 .../src}/libnurbs/internals/hull.h | 0 .../src}/libnurbs/internals/intersect.cc | 0 .../src}/libnurbs/internals/jarcloc.h | 0 .../src}/libnurbs/internals/knotvector.cc | 0 .../src}/libnurbs/internals/knotvector.h | 0 .../src}/libnurbs/internals/mapdesc.cc | 0 .../src}/libnurbs/internals/mapdesc.h | 0 .../src}/libnurbs/internals/mapdescv.cc | 0 .../src}/libnurbs/internals/maplist.cc | 0 .../src}/libnurbs/internals/maplist.h | 0 .../src}/libnurbs/internals/mesher.cc | 0 .../src}/libnurbs/internals/mesher.h | 0 .../internals/monoTriangulationBackend.cc | 0 .../src}/libnurbs/internals/monotonizer.cc | 0 .../src}/libnurbs/internals/monotonizer.h | 0 .../src}/libnurbs/internals/myassert.h | 0 .../src}/libnurbs/internals/mycode.cc | 0 .../src}/libnurbs/internals/mymath.h | 0 .../src}/libnurbs/internals/mysetjmp.h | 0 .../src}/libnurbs/internals/mystring.h | 0 .../src}/libnurbs/internals/nurbsconsts.h | 0 .../src}/libnurbs/internals/nurbsinterfac.cc | 0 .../src}/libnurbs/internals/nurbstess.cc | 0 .../src}/libnurbs/internals/nurbstess.h | 0 .../src}/libnurbs/internals/patch.cc | 0 .../src}/libnurbs/internals/patch.h | 0 .../src}/libnurbs/internals/patchlist.cc | 0 .../src}/libnurbs/internals/patchlist.h | 0 .../src}/libnurbs/internals/pwlarc.h | 0 .../src}/libnurbs/internals/quilt.cc | 0 .../src}/libnurbs/internals/quilt.h | 0 .../src}/libnurbs/internals/reader.cc | 0 .../src}/libnurbs/internals/reader.h | 0 .../src}/libnurbs/internals/renderhints.cc | 0 .../src}/libnurbs/internals/renderhints.h | 0 .../src}/libnurbs/internals/simplemath.h | 0 .../src}/libnurbs/internals/slicer.cc | 0 .../src}/libnurbs/internals/slicer.h | 0 .../src}/libnurbs/internals/sorter.cc | 0 .../src}/libnurbs/internals/sorter.h | 0 .../src}/libnurbs/internals/splitarcs.cc | 0 .../src}/libnurbs/internals/subdivider.cc | 0 .../src}/libnurbs/internals/subdivider.h | 0 .../src}/libnurbs/internals/tobezier.cc | 0 .../src}/libnurbs/internals/trimline.cc | 0 .../src}/libnurbs/internals/trimline.h | 0 .../src}/libnurbs/internals/trimregion.cc | 0 .../src}/libnurbs/internals/trimregion.h | 0 .../src}/libnurbs/internals/trimvertex.h | 0 .../src}/libnurbs/internals/trimvertpool.cc | 0 .../src}/libnurbs/internals/trimvertpool.h | 0 .../src}/libnurbs/internals/types.h | 0 .../src}/libnurbs/internals/uarray.cc | 0 .../src}/libnurbs/internals/uarray.h | 0 .../src}/libnurbs/internals/varray.cc | 0 .../src}/libnurbs/internals/varray.h | 0 .../src}/libnurbs/nurbtess/definitions.h | 0 .../src}/libnurbs/nurbtess/directedLine.cc | 0 .../src}/libnurbs/nurbtess/directedLine.h | 0 .../src}/libnurbs/nurbtess/glimports.h | 0 .../src}/libnurbs/nurbtess/gridWrap.cc | 0 .../src}/libnurbs/nurbtess/gridWrap.h | 0 .../src}/libnurbs/nurbtess/monoChain.cc | 0 .../src}/libnurbs/nurbtess/monoChain.h | 0 .../src}/libnurbs/nurbtess/monoPolyPart.cc | 0 .../src}/libnurbs/nurbtess/monoPolyPart.h | 0 .../libnurbs/nurbtess/monoTriangulation.cc | 0 .../libnurbs/nurbtess/monoTriangulation.h | 0 .../src}/libnurbs/nurbtess/mystdio.h | 0 .../src}/libnurbs/nurbtess/mystdlib.h | 0 .../src}/libnurbs/nurbtess/partitionX.cc | 0 .../src}/libnurbs/nurbtess/partitionX.h | 0 .../src}/libnurbs/nurbtess/partitionY.cc | 0 .../src}/libnurbs/nurbtess/partitionY.h | 0 .../src}/libnurbs/nurbtess/polyDBG.cc | 0 .../src}/libnurbs/nurbtess/polyDBG.h | 0 .../src}/libnurbs/nurbtess/polyUtil.cc | 0 .../src}/libnurbs/nurbtess/polyUtil.h | 0 .../src}/libnurbs/nurbtess/primitiveStream.cc | 0 .../src}/libnurbs/nurbtess/primitiveStream.h | 0 .../src}/libnurbs/nurbtess/quicksort.cc | 0 .../src}/libnurbs/nurbtess/quicksort.h | 0 .../src}/libnurbs/nurbtess/rectBlock.cc | 0 .../src}/libnurbs/nurbtess/rectBlock.h | 0 .../src}/libnurbs/nurbtess/sampleComp.cc | 0 .../src}/libnurbs/nurbtess/sampleComp.h | 0 .../src}/libnurbs/nurbtess/sampleCompBot.cc | 0 .../src}/libnurbs/nurbtess/sampleCompBot.h | 0 .../src}/libnurbs/nurbtess/sampleCompRight.cc | 0 .../src}/libnurbs/nurbtess/sampleCompRight.h | 0 .../src}/libnurbs/nurbtess/sampleCompTop.cc | 0 .../src}/libnurbs/nurbtess/sampleCompTop.h | 0 .../src}/libnurbs/nurbtess/sampleMonoPoly.cc | 0 .../src}/libnurbs/nurbtess/sampleMonoPoly.h | 0 .../src}/libnurbs/nurbtess/sampledLine.cc | 0 .../src}/libnurbs/nurbtess/sampledLine.h | 0 .../src}/libnurbs/nurbtess/searchTree.cc | 0 .../src}/libnurbs/nurbtess/searchTree.h | 0 .../src}/libnurbs/nurbtess/zlassert.h | 0 .../src/glu/sgi => glu32/src}/libtess/README | 0 .../glu/sgi => glu32/src}/libtess/alg-outline | 0 .../glu/sgi => glu32/src}/libtess/dict-list.h | 0 .../src/glu/sgi => glu32/src}/libtess/dict.c | 0 .../src/glu/sgi => glu32/src}/libtess/dict.h | 0 .../src/glu/sgi => glu32/src}/libtess/geom.c | 0 .../src/glu/sgi => glu32/src}/libtess/geom.h | 0 .../glu/sgi => glu32/src}/libtess/memalloc.c | 0 .../glu/sgi => glu32/src}/libtess/memalloc.h | 0 .../src/glu/sgi => glu32/src}/libtess/mesh.c | 0 .../src/glu/sgi => glu32/src}/libtess/mesh.h | 0 .../glu/sgi => glu32/src}/libtess/normal.c | 0 .../glu/sgi => glu32/src}/libtess/normal.h | 0 .../src}/libtess/priorityq-heap.c | 0 .../src}/libtess/priorityq-heap.h | 0 .../src}/libtess/priorityq-sort.h | 0 .../glu/sgi => glu32/src}/libtess/priorityq.c | 0 .../glu/sgi => glu32/src}/libtess/priorityq.h | 0 .../glu/sgi => glu32/src}/libtess/render.c | 0 .../glu/sgi => glu32/src}/libtess/render.h | 0 .../src/glu/sgi => glu32/src}/libtess/sweep.c | 0 .../src/glu/sgi => glu32/src}/libtess/sweep.h | 0 .../src/glu/sgi => glu32/src}/libtess/tess.c | 0 .../src/glu/sgi => glu32/src}/libtess/tess.h | 0 .../glu/sgi => glu32/src}/libtess/tessmono.c | 0 .../glu/sgi => glu32/src}/libtess/tessmono.h | 0 .../src/glu/sgi => glu32/src}/libutil/error.c | 0 .../src/glu/sgi => glu32/src}/libutil/glue.c | 0 .../glu/sgi => glu32/src}/libutil/gluint.h | 0 .../glu/sgi => glu32/src}/libutil/mipmap.c | 2 +- .../glu/sgi => glu32/src}/libutil/project.c | 0 .../src/glu/sgi => glu32/src}/libutil/quad.c | 0 .../glu/sgi => glu32/src}/libutil/registry.c | 0 reactos/dll/opengl/mesa/src/CMakeLists.txt | 3 +- .../opengl/mesa/src/glu/sgi/CMakeLists.txt | 125 ------- .../dll/opengl/mesa/src/glu/sgi/SConscript | 137 ------- reactos/dll/opengl/mesa/src/glu/sgi/dummy.cc | 4 - reactos/dll/opengl/mesa/src/glu/sgi/glu.def | 88 ----- 203 files changed, 623 insertions(+), 358 deletions(-) create mode 100644 reactos/dll/opengl/glu32/.gitignore create mode 100644 reactos/dll/opengl/glu32/CMakeLists.txt rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32}/glu32.spec (100%) create mode 100644 reactos/dll/opengl/glu32/include/GL/glu.h create mode 100644 reactos/dll/opengl/glu32/include/GL/glu_mangle.h rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/include/gluos.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierEval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierEval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierPatch.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierPatch.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierPatchMesh.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/bezierPatchMesh.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glcurveval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glcurveval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glimports.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glinterface.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glrenderer.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glrenderer.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glsurfeval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/glsurfeval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/incurveeval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/insurfeval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/mystdio.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/interface/mystdlib.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arc.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arcsorter.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arcsorter.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arctess.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/arctess.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/backend.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/backend.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/basiccrveval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/basiccrveval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/basicsurfeval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/basicsurfeval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/bezierarc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/bin.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/bin.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/bufpool.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/bufpool.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/cachingeval.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/cachingeval.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/ccw.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/coveandtiler.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/coveandtiler.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/curve.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/curve.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/curvelist.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/curvelist.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/curvesub.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/dataTransform.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/dataTransform.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/defines.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/displaylist.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/displaylist.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/displaymode.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/flist.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/flist.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/flistsorter.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/flistsorter.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/gridline.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/gridtrimvertex.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/gridvertex.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/hull.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/hull.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/intersect.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/jarcloc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/knotvector.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/knotvector.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mapdesc.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mapdesc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mapdescv.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/maplist.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/maplist.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mesher.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mesher.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/monoTriangulationBackend.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/monotonizer.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/monotonizer.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/myassert.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mycode.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mymath.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mysetjmp.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/mystring.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/nurbsconsts.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/nurbsinterfac.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/nurbstess.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/nurbstess.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/patch.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/patch.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/patchlist.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/patchlist.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/pwlarc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/quilt.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/quilt.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/reader.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/reader.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/renderhints.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/renderhints.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/simplemath.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/slicer.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/slicer.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/sorter.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/sorter.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/splitarcs.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/subdivider.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/subdivider.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/tobezier.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimline.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimline.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimregion.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimregion.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimvertex.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimvertpool.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/trimvertpool.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/types.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/uarray.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/uarray.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/varray.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/internals/varray.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/definitions.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/directedLine.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/directedLine.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/glimports.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/gridWrap.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/gridWrap.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoChain.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoChain.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoPolyPart.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoPolyPart.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoTriangulation.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/monoTriangulation.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/mystdio.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/mystdlib.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/partitionX.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/partitionX.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/partitionY.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/partitionY.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/polyDBG.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/polyDBG.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/polyUtil.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/polyUtil.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/primitiveStream.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/primitiveStream.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/quicksort.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/quicksort.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/rectBlock.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/rectBlock.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleComp.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleComp.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompBot.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompBot.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompRight.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompRight.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompTop.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleCompTop.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleMonoPoly.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampleMonoPoly.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampledLine.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/sampledLine.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/searchTree.cc (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/searchTree.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libnurbs/nurbtess/zlassert.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/README (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/alg-outline (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/dict-list.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/dict.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/dict.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/geom.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/geom.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/memalloc.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/memalloc.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/mesh.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/mesh.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/normal.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/normal.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/priorityq-heap.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/priorityq-heap.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/priorityq-sort.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/priorityq.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/priorityq.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/render.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/render.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/sweep.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/sweep.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/tess.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/tess.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/tessmono.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libtess/tessmono.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/error.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/glue.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/gluint.h (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/mipmap.c (99%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/project.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/quad.c (100%) rename reactos/dll/opengl/{mesa/src/glu/sgi => glu32/src}/libutil/registry.c (100%) delete mode 100644 reactos/dll/opengl/mesa/src/glu/sgi/CMakeLists.txt delete mode 100644 reactos/dll/opengl/mesa/src/glu/sgi/SConscript delete mode 100644 reactos/dll/opengl/mesa/src/glu/sgi/dummy.cc delete mode 100644 reactos/dll/opengl/mesa/src/glu/sgi/glu.def diff --git a/reactos/dll/opengl/CMakeLists.txt b/reactos/dll/opengl/CMakeLists.txt index 1ebaea6f270..fe197437dfb 100644 --- a/reactos/dll/opengl/CMakeLists.txt +++ b/reactos/dll/opengl/CMakeLists.txt @@ -1,2 +1,3 @@ +add_subdirectory(glu32) add_subdirectory(mesa) -add_subdirectory(opengl32) \ No newline at end of file +add_subdirectory(opengl32) diff --git a/reactos/dll/opengl/glu32/.gitignore b/reactos/dll/opengl/glu32/.gitignore new file mode 100644 index 00000000000..cfcd43ca770 --- /dev/null +++ b/reactos/dll/opengl/glu32/.gitignore @@ -0,0 +1,48 @@ +*.a +*.dll +*.exe +*.ilk +*.la +*.lo +*.o +*.obj +*.os +*.pc +*.pdb +*.pyc +*.pyo +*.so +*.so.* +*.sw[a-z] +*.tar +*.tar.bz2 +*.tar.gz +*.zip +*~ +depend +depend.bak +bin/ltmain.sh +lib +lib64 +configure +configure.lineno +autom4te.cache +aclocal.m4 +config.log +config.status +cscope* +build +libtool +manifest.txt +Makefile.in +.dir-locals.el +.deps/ +.libs/ +Makefile +.dirstamp +missing +config.guess +config.sub +depcomp +install-sh +ltmain.sh diff --git a/reactos/dll/opengl/glu32/CMakeLists.txt b/reactos/dll/opengl/glu32/CMakeLists.txt new file mode 100644 index 00000000000..6892dc062f8 --- /dev/null +++ b/reactos/dll/opengl/glu32/CMakeLists.txt @@ -0,0 +1,132 @@ + +include_directories(BEFORE + include + src/include + src/libnurbs/internals + src/libnurbs/interface + src/libnurbs/nurbtess +) + +add_definitions( + -DBUILD_GLU32 + -DNDEBUG + -DLIBRARYBUILD + -DRESOLVE_3D_TEXTURE_SUPPORT +) + +#this library uses C++ +# set_cpp() + +# we must use our own spec file +spec2def(glu32.dll glu32.spec ADD_IMPORTLIB) + +list(APPEND SOURCE + src/libutil/error.c + src/libutil/glue.c + src/libutil/mipmap.c + src/libutil/project.c + src/libutil/quad.c + src/libutil/registry.c + src/libtess/dict.c + src/libtess/geom.c + src/libtess/memalloc.c + src/libtess/mesh.c + src/libtess/normal.c + src/libtess/priorityq.c + src/libtess/render.c + src/libtess/sweep.c + src/libtess/tess.c + src/libtess/tessmono.c + src/libnurbs/interface/bezierEval.cc + src/libnurbs/interface/bezierPatch.cc + src/libnurbs/interface/bezierPatchMesh.cc + src/libnurbs/interface/glcurveval.cc + src/libnurbs/interface/glinterface.cc + src/libnurbs/interface/glrenderer.cc + src/libnurbs/interface/glsurfeval.cc + src/libnurbs/interface/incurveeval.cc + src/libnurbs/interface/insurfeval.cc + src/libnurbs/internals/arc.cc + src/libnurbs/internals/arcsorter.cc + src/libnurbs/internals/arctess.cc + src/libnurbs/internals/backend.cc + src/libnurbs/internals/basiccrveval.cc + src/libnurbs/internals/basicsurfeval.cc + src/libnurbs/internals/bin.cc + src/libnurbs/internals/bufpool.cc + src/libnurbs/internals/cachingeval.cc + src/libnurbs/internals/ccw.cc + src/libnurbs/internals/coveandtiler.cc + src/libnurbs/internals/curve.cc + src/libnurbs/internals/curvelist.cc + src/libnurbs/internals/curvesub.cc + src/libnurbs/internals/dataTransform.cc + src/libnurbs/internals/displaylist.cc + src/libnurbs/internals/flist.cc + src/libnurbs/internals/flistsorter.cc + src/libnurbs/internals/hull.cc + src/libnurbs/internals/intersect.cc + src/libnurbs/internals/knotvector.cc + src/libnurbs/internals/mapdesc.cc + src/libnurbs/internals/mapdescv.cc + src/libnurbs/internals/maplist.cc + src/libnurbs/internals/mesher.cc + src/libnurbs/internals/monoTriangulationBackend.cc + src/libnurbs/internals/monotonizer.cc + src/libnurbs/internals/mycode.cc + src/libnurbs/internals/nurbsinterfac.cc + src/libnurbs/internals/nurbstess.cc + src/libnurbs/internals/patch.cc + src/libnurbs/internals/patchlist.cc + src/libnurbs/internals/quilt.cc + src/libnurbs/internals/reader.cc + src/libnurbs/internals/renderhints.cc + src/libnurbs/internals/slicer.cc + src/libnurbs/internals/sorter.cc + src/libnurbs/internals/splitarcs.cc + src/libnurbs/internals/subdivider.cc + src/libnurbs/internals/tobezier.cc + src/libnurbs/internals/trimline.cc + src/libnurbs/internals/trimregion.cc + src/libnurbs/internals/trimvertpool.cc + src/libnurbs/internals/uarray.cc + src/libnurbs/internals/varray.cc + src/libnurbs/nurbtess/directedLine.cc + src/libnurbs/nurbtess/gridWrap.cc + src/libnurbs/nurbtess/monoChain.cc + src/libnurbs/nurbtess/monoPolyPart.cc + src/libnurbs/nurbtess/monoTriangulation.cc + src/libnurbs/nurbtess/partitionX.cc + src/libnurbs/nurbtess/partitionY.cc + src/libnurbs/nurbtess/polyDBG.cc + src/libnurbs/nurbtess/polyUtil.cc + src/libnurbs/nurbtess/primitiveStream.cc + src/libnurbs/nurbtess/quicksort.cc + src/libnurbs/nurbtess/rectBlock.cc + src/libnurbs/nurbtess/sampleComp.cc + src/libnurbs/nurbtess/sampleCompBot.cc + src/libnurbs/nurbtess/sampleCompRight.cc + src/libnurbs/nurbtess/sampleCompTop.cc + src/libnurbs/nurbtess/sampleMonoPoly.cc + src/libnurbs/nurbtess/sampledLine.cc + src/libnurbs/nurbtess/searchTree.cc + ${CMAKE_CURRENT_BINARY_DIR}/glu32.def +) + +add_library(glu32 SHARED ${SOURCE}) +set_module_type(glu32 win32dll) + +if(NOT MSVC) +#FIXME: we really need a standard C++ library + target_link_libraries(glu32 -lsupc++ -lgcc) + add_compile_flags("-Wno-error=write-strings") +endif() + +add_importlibs(glu32 + opengl32 + gdi32 + msvcrt + kernel32 + ntdll) + +add_cd_file(TARGET glu32 DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/glu32.spec b/reactos/dll/opengl/glu32/glu32.spec similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/glu32.spec rename to reactos/dll/opengl/glu32/glu32.spec diff --git a/reactos/dll/opengl/glu32/include/GL/glu.h b/reactos/dll/opengl/glu32/include/GL/glu.h new file mode 100644 index 00000000000..ba2228d8d86 --- /dev/null +++ b/reactos/dll/opengl/glu32/include/GL/glu.h @@ -0,0 +1,353 @@ +/* + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ + +#ifndef __glu_h__ +#define __glu_h__ + +#if defined(USE_MGL_NAMESPACE) +#include "glu_mangle.h" +#endif + +#include + +#ifndef GLAPIENTRY +#if defined(_MSC_VER) || defined(__MINGW32__) +#define GLAPIENTRY __stdcall +#else +#define GLAPIENTRY +#endif +#endif + +#ifndef GLAPIENTRYP +#define GLAPIENTRYP GLAPIENTRY * +#endif + +#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32) +# undef GLAPI +# define GLAPI __declspec(dllexport) +#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) +/* tag specifying we're building for DLL runtime support */ +# undef GLAPI +# define GLAPI __declspec(dllimport) +#elif !defined(GLAPI) +/* for use with static link lib build of Win32 edition only */ +# define GLAPI extern +#endif /* _STATIC_MESA support */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*************************************************************/ + +/* Extensions */ +#define GLU_EXT_object_space_tess 1 +#define GLU_EXT_nurbs_tessellator 1 + +/* Boolean */ +#define GLU_FALSE 0 +#define GLU_TRUE 1 + +/* Version */ +#define GLU_VERSION_1_1 1 +#define GLU_VERSION_1_2 1 +#define GLU_VERSION_1_3 1 + +/* StringName */ +#define GLU_VERSION 100800 +#define GLU_EXTENSIONS 100801 + +/* ErrorCode */ +#define GLU_INVALID_ENUM 100900 +#define GLU_INVALID_VALUE 100901 +#define GLU_OUT_OF_MEMORY 100902 +#define GLU_INCOMPATIBLE_GL_VERSION 100903 +#define GLU_INVALID_OPERATION 100904 + +/* NurbsDisplay */ +/* GLU_FILL */ +#define GLU_OUTLINE_POLYGON 100240 +#define GLU_OUTLINE_PATCH 100241 + +/* NurbsCallback */ +#define GLU_NURBS_ERROR 100103 +#define GLU_ERROR 100103 +#define GLU_NURBS_BEGIN 100164 +#define GLU_NURBS_BEGIN_EXT 100164 +#define GLU_NURBS_VERTEX 100165 +#define GLU_NURBS_VERTEX_EXT 100165 +#define GLU_NURBS_NORMAL 100166 +#define GLU_NURBS_NORMAL_EXT 100166 +#define GLU_NURBS_COLOR 100167 +#define GLU_NURBS_COLOR_EXT 100167 +#define GLU_NURBS_TEXTURE_COORD 100168 +#define GLU_NURBS_TEX_COORD_EXT 100168 +#define GLU_NURBS_END 100169 +#define GLU_NURBS_END_EXT 100169 +#define GLU_NURBS_BEGIN_DATA 100170 +#define GLU_NURBS_BEGIN_DATA_EXT 100170 +#define GLU_NURBS_VERTEX_DATA 100171 +#define GLU_NURBS_VERTEX_DATA_EXT 100171 +#define GLU_NURBS_NORMAL_DATA 100172 +#define GLU_NURBS_NORMAL_DATA_EXT 100172 +#define GLU_NURBS_COLOR_DATA 100173 +#define GLU_NURBS_COLOR_DATA_EXT 100173 +#define GLU_NURBS_TEXTURE_COORD_DATA 100174 +#define GLU_NURBS_TEX_COORD_DATA_EXT 100174 +#define GLU_NURBS_END_DATA 100175 +#define GLU_NURBS_END_DATA_EXT 100175 + +/* NurbsError */ +#define GLU_NURBS_ERROR1 100251 +#define GLU_NURBS_ERROR2 100252 +#define GLU_NURBS_ERROR3 100253 +#define GLU_NURBS_ERROR4 100254 +#define GLU_NURBS_ERROR5 100255 +#define GLU_NURBS_ERROR6 100256 +#define GLU_NURBS_ERROR7 100257 +#define GLU_NURBS_ERROR8 100258 +#define GLU_NURBS_ERROR9 100259 +#define GLU_NURBS_ERROR10 100260 +#define GLU_NURBS_ERROR11 100261 +#define GLU_NURBS_ERROR12 100262 +#define GLU_NURBS_ERROR13 100263 +#define GLU_NURBS_ERROR14 100264 +#define GLU_NURBS_ERROR15 100265 +#define GLU_NURBS_ERROR16 100266 +#define GLU_NURBS_ERROR17 100267 +#define GLU_NURBS_ERROR18 100268 +#define GLU_NURBS_ERROR19 100269 +#define GLU_NURBS_ERROR20 100270 +#define GLU_NURBS_ERROR21 100271 +#define GLU_NURBS_ERROR22 100272 +#define GLU_NURBS_ERROR23 100273 +#define GLU_NURBS_ERROR24 100274 +#define GLU_NURBS_ERROR25 100275 +#define GLU_NURBS_ERROR26 100276 +#define GLU_NURBS_ERROR27 100277 +#define GLU_NURBS_ERROR28 100278 +#define GLU_NURBS_ERROR29 100279 +#define GLU_NURBS_ERROR30 100280 +#define GLU_NURBS_ERROR31 100281 +#define GLU_NURBS_ERROR32 100282 +#define GLU_NURBS_ERROR33 100283 +#define GLU_NURBS_ERROR34 100284 +#define GLU_NURBS_ERROR35 100285 +#define GLU_NURBS_ERROR36 100286 +#define GLU_NURBS_ERROR37 100287 + +/* NurbsProperty */ +#define GLU_AUTO_LOAD_MATRIX 100200 +#define GLU_CULLING 100201 +#define GLU_SAMPLING_TOLERANCE 100203 +#define GLU_DISPLAY_MODE 100204 +#define GLU_PARAMETRIC_TOLERANCE 100202 +#define GLU_SAMPLING_METHOD 100205 +#define GLU_U_STEP 100206 +#define GLU_V_STEP 100207 +#define GLU_NURBS_MODE 100160 +#define GLU_NURBS_MODE_EXT 100160 +#define GLU_NURBS_TESSELLATOR 100161 +#define GLU_NURBS_TESSELLATOR_EXT 100161 +#define GLU_NURBS_RENDERER 100162 +#define GLU_NURBS_RENDERER_EXT 100162 + +/* NurbsSampling */ +#define GLU_OBJECT_PARAMETRIC_ERROR 100208 +#define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208 +#define GLU_OBJECT_PATH_LENGTH 100209 +#define GLU_OBJECT_PATH_LENGTH_EXT 100209 +#define GLU_PATH_LENGTH 100215 +#define GLU_PARAMETRIC_ERROR 100216 +#define GLU_DOMAIN_DISTANCE 100217 + +/* NurbsTrim */ +#define GLU_MAP1_TRIM_2 100210 +#define GLU_MAP1_TRIM_3 100211 + +/* QuadricDrawStyle */ +#define GLU_POINT 100010 +#define GLU_LINE 100011 +#define GLU_FILL 100012 +#define GLU_SILHOUETTE 100013 + +/* QuadricCallback */ +/* GLU_ERROR */ + +/* QuadricNormal */ +#define GLU_SMOOTH 100000 +#define GLU_FLAT 100001 +#define GLU_NONE 100002 + +/* QuadricOrientation */ +#define GLU_OUTSIDE 100020 +#define GLU_INSIDE 100021 + +/* TessCallback */ +#define GLU_TESS_BEGIN 100100 +#define GLU_BEGIN 100100 +#define GLU_TESS_VERTEX 100101 +#define GLU_VERTEX 100101 +#define GLU_TESS_END 100102 +#define GLU_END 100102 +#define GLU_TESS_ERROR 100103 +#define GLU_TESS_EDGE_FLAG 100104 +#define GLU_EDGE_FLAG 100104 +#define GLU_TESS_COMBINE 100105 +#define GLU_TESS_BEGIN_DATA 100106 +#define GLU_TESS_VERTEX_DATA 100107 +#define GLU_TESS_END_DATA 100108 +#define GLU_TESS_ERROR_DATA 100109 +#define GLU_TESS_EDGE_FLAG_DATA 100110 +#define GLU_TESS_COMBINE_DATA 100111 + +/* TessContour */ +#define GLU_CW 100120 +#define GLU_CCW 100121 +#define GLU_INTERIOR 100122 +#define GLU_EXTERIOR 100123 +#define GLU_UNKNOWN 100124 + +/* TessProperty */ +#define GLU_TESS_WINDING_RULE 100140 +#define GLU_TESS_BOUNDARY_ONLY 100141 +#define GLU_TESS_TOLERANCE 100142 + +/* TessError */ +#define GLU_TESS_ERROR1 100151 +#define GLU_TESS_ERROR2 100152 +#define GLU_TESS_ERROR3 100153 +#define GLU_TESS_ERROR4 100154 +#define GLU_TESS_ERROR5 100155 +#define GLU_TESS_ERROR6 100156 +#define GLU_TESS_ERROR7 100157 +#define GLU_TESS_ERROR8 100158 +#define GLU_TESS_MISSING_BEGIN_POLYGON 100151 +#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152 +#define GLU_TESS_MISSING_END_POLYGON 100153 +#define GLU_TESS_MISSING_END_CONTOUR 100154 +#define GLU_TESS_COORD_TOO_LARGE 100155 +#define GLU_TESS_NEED_COMBINE_CALLBACK 100156 + +/* TessWinding */ +#define GLU_TESS_WINDING_ODD 100130 +#define GLU_TESS_WINDING_NONZERO 100131 +#define GLU_TESS_WINDING_POSITIVE 100132 +#define GLU_TESS_WINDING_NEGATIVE 100133 +#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 + +/*************************************************************/ + + +#ifdef __cplusplus +class GLUnurbs; +class GLUquadric; +class GLUtesselator; +#else +typedef struct GLUnurbs GLUnurbs; +typedef struct GLUquadric GLUquadric; +typedef struct GLUtesselator GLUtesselator; +#endif + +typedef GLUnurbs GLUnurbsObj; +typedef GLUquadric GLUquadricObj; +typedef GLUtesselator GLUtesselatorObj; +typedef GLUtesselator GLUtriangulatorObj; + +#define GLU_TESS_MAX_COORD 1.0e150 + +/* Internal convenience typedefs */ +typedef void (GLAPIENTRYP _GLUfuncptr)(void); + +GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb); +GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb); +GLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb); +GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); +GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); +GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); +GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); +GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); +GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); +GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString); +GLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); +GLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb); +GLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad); +GLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); +GLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb); +GLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb); +GLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb); +GLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error); +GLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data); +GLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name); +GLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data); +GLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view); +GLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); +GLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void); +GLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void); +GLAPI GLUtesselator* GLAPIENTRY gluNewTess (void); +GLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type); +GLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc); +GLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData); +GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); +GLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type); +GLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value); +GLAPI void GLAPIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type); +GLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); +GLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); +GLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); +GLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport); +GLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ); +GLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type); +GLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc); +GLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw); +GLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal); +GLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation); +GLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture); +GLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); +GLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks); +GLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); +GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); +GLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess); +GLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); +GLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); +GLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); +GLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ); +GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW); + +#ifdef __cplusplus +} +#endif + +#endif /* __glu_h__ */ diff --git a/reactos/dll/opengl/glu32/include/GL/glu_mangle.h b/reactos/dll/opengl/glu32/include/GL/glu_mangle.h new file mode 100644 index 00000000000..9c25aa864c1 --- /dev/null +++ b/reactos/dll/opengl/glu32/include/GL/glu_mangle.h @@ -0,0 +1,86 @@ +/* + * Mesa 3-D graphics library + * Version: 3.0 + * Copyright (C) 1995-1998 Brian Paul + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + +#ifndef GLU_MANGLE_H +#define GLU_MANGLE_H + + +#define gluLookAt mgluLookAt +#define gluOrtho2D mgluOrtho2D +#define gluPerspective mgluPerspective +#define gluPickMatrix mgluPickMatrix +#define gluProject mgluProject +#define gluUnProject mgluUnProject +#define gluErrorString mgluErrorString +#define gluScaleImage mgluScaleImage +#define gluBuild1DMipmaps mgluBuild1DMipmaps +#define gluBuild2DMipmaps mgluBuild2DMipmaps +#define gluNewQuadric mgluNewQuadric +#define gluDeleteQuadric mgluDeleteQuadric +#define gluQuadricDrawStyle mgluQuadricDrawStyle +#define gluQuadricOrientation mgluQuadricOrientation +#define gluQuadricNormals mgluQuadricNormals +#define gluQuadricTexture mgluQuadricTexture +#define gluQuadricCallback mgluQuadricCallback +#define gluCylinder mgluCylinder +#define gluSphere mgluSphere +#define gluDisk mgluDisk +#define gluPartialDisk mgluPartialDisk +#define gluNewNurbsRenderer mgluNewNurbsRenderer +#define gluDeleteNurbsRenderer mgluDeleteNurbsRenderer +#define gluLoadSamplingMatrices mgluLoadSamplingMatrices +#define gluNurbsProperty mgluNurbsProperty +#define gluGetNurbsProperty mgluGetNurbsProperty +#define gluBeginCurve mgluBeginCurve +#define gluEndCurve mgluEndCurve +#define gluNurbsCurve mgluNurbsCurve +#define gluBeginSurface mgluBeginSurface +#define gluEndSurface mgluEndSurface +#define gluNurbsSurface mgluNurbsSurface +#define gluBeginTrim mgluBeginTrim +#define gluEndTrim mgluEndTrim +#define gluPwlCurve mgluPwlCurve +#define gluNurbsCallback mgluNurbsCallback +#define gluNewTess mgluNewTess +#define gluDeleteTess mgluDeleteTess +#define gluTessBeginPolygon mgluTessBeginPolygon +#define gluTessBeginContour mgluTessBeginContour +#define gluTessVertex mgluTessVertex +#define gluTessEndPolygon mgluTessEndPolygon +#define gluTessEndContour mgluTessEndContour +#define gluTessProperty mgluTessProperty +#define gluTessNormal mgluTessNormal +#define gluTessCallback mgluTessCallback +#define gluGetTessProperty mgluGetTessProperty +#define gluBeginPolygon mgluBeginPolygon +#define gluNextContour mgluNextContour +#define gluEndPolygon mgluEndPolygon +#define gluGetString mgluGetString +#define gluBuild1DMipmapLevels mgluBuild1DMipmapLevels +#define gluBuild2DMipmapLevels mgluBuild2DMipmapLevels +#define gluBuild3DMipmapLevels mgluBuild3DMipmapLevels +#define gluBuild3DMipmaps mgluBuild3DMipmaps +#define gluCheckExtension mgluCheckExtension +#define gluUnProject4 mgluUnProject4 +#define gluNurbsCallbackData mgluNurbsCallbackData +#define gluNurbsCallbackDataEXT mgluNurbsCallbackDataEXT + +#endif diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/include/gluos.h b/reactos/dll/opengl/glu32/src/include/gluos.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/include/gluos.h rename to reactos/dll/opengl/glu32/src/include/gluos.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierEval.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierEval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierEval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierEval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierEval.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierEval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierEval.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierEval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatch.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatch.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatch.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatch.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatch.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatch.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatch.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatch.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatchMesh.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatchMesh.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatchMesh.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatchMesh.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatchMesh.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatchMesh.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/bezierPatchMesh.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/bezierPatchMesh.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glcurveval.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/glcurveval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glcurveval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glcurveval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glcurveval.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/glcurveval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glcurveval.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glcurveval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glimports.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/glimports.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glimports.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glimports.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glinterface.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/glinterface.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glinterface.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glinterface.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glrenderer.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/glrenderer.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glrenderer.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glrenderer.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glrenderer.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/glrenderer.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glrenderer.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glrenderer.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glsurfeval.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/glsurfeval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glsurfeval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glsurfeval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glsurfeval.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/glsurfeval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/glsurfeval.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/glsurfeval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/incurveeval.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/incurveeval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/incurveeval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/incurveeval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/insurfeval.cc b/reactos/dll/opengl/glu32/src/libnurbs/interface/insurfeval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/insurfeval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/interface/insurfeval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/mystdio.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/mystdio.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/mystdio.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/mystdio.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/mystdlib.h b/reactos/dll/opengl/glu32/src/libnurbs/interface/mystdlib.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/interface/mystdlib.h rename to reactos/dll/opengl/glu32/src/libnurbs/interface/mystdlib.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arc.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/arc.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arc.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arc.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arc.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/arc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arc.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arcsorter.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/arcsorter.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arcsorter.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arcsorter.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arcsorter.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/arcsorter.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arcsorter.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arcsorter.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arctess.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/arctess.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arctess.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arctess.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arctess.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/arctess.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/arctess.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/arctess.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/backend.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/backend.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/backend.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/backend.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/backend.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/backend.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/backend.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/backend.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basiccrveval.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/basiccrveval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basiccrveval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/basiccrveval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basiccrveval.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/basiccrveval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basiccrveval.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/basiccrveval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/basicsurfeval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/basicsurfeval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/basicsurfeval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/basicsurfeval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bezierarc.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/bezierarc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bezierarc.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/bezierarc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bin.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/bin.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bin.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/bin.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bin.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/bin.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bin.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/bin.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bufpool.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/bufpool.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bufpool.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/bufpool.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bufpool.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/bufpool.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/bufpool.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/bufpool.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/cachingeval.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/cachingeval.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/cachingeval.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/cachingeval.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/cachingeval.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/cachingeval.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/cachingeval.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/cachingeval.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/ccw.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/ccw.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/ccw.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/ccw.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/coveandtiler.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/coveandtiler.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/coveandtiler.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/coveandtiler.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/coveandtiler.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/coveandtiler.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/coveandtiler.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/coveandtiler.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curve.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/curve.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curve.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/curve.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curve.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/curve.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curve.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/curve.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvelist.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/curvelist.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvelist.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/curvelist.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvelist.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/curvelist.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvelist.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/curvelist.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvesub.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/curvesub.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/curvesub.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/curvesub.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/dataTransform.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/dataTransform.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/dataTransform.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/dataTransform.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/dataTransform.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/dataTransform.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/dataTransform.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/dataTransform.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/defines.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/defines.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/defines.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/defines.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaylist.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/displaylist.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaylist.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/displaylist.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaylist.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/displaylist.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaylist.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/displaylist.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaymode.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/displaymode.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/displaymode.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/displaymode.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flist.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/flist.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flist.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/flist.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flist.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/flist.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flist.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/flist.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flistsorter.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/flistsorter.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flistsorter.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/flistsorter.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flistsorter.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/flistsorter.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/flistsorter.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/flistsorter.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridline.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/gridline.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridline.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/gridline.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridtrimvertex.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/gridtrimvertex.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridtrimvertex.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/gridtrimvertex.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridvertex.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/gridvertex.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/gridvertex.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/gridvertex.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/hull.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/hull.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/hull.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/hull.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/hull.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/hull.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/hull.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/hull.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/intersect.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/intersect.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/intersect.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/intersect.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/jarcloc.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/jarcloc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/jarcloc.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/jarcloc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/knotvector.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/knotvector.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/knotvector.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/knotvector.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/knotvector.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/knotvector.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/knotvector.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/knotvector.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdesc.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/mapdesc.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdesc.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mapdesc.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdesc.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/mapdesc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdesc.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mapdesc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdescv.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/mapdescv.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mapdescv.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mapdescv.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/maplist.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/maplist.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/maplist.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/maplist.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/maplist.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/maplist.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/maplist.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/maplist.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mesher.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/mesher.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mesher.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mesher.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mesher.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/mesher.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mesher.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mesher.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monoTriangulationBackend.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/monoTriangulationBackend.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monoTriangulationBackend.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/monoTriangulationBackend.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monotonizer.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/monotonizer.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monotonizer.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/monotonizer.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monotonizer.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/monotonizer.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/monotonizer.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/monotonizer.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/myassert.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/myassert.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/myassert.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/myassert.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mycode.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/mycode.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mycode.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mycode.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mymath.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/mymath.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mymath.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mymath.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mysetjmp.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/mysetjmp.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mysetjmp.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mysetjmp.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mystring.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/mystring.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/mystring.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/mystring.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbsconsts.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/nurbsconsts.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbsconsts.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/nurbsconsts.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbsinterfac.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/nurbsinterfac.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbsinterfac.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/nurbsinterfac.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbstess.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/nurbstess.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbstess.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/nurbstess.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbstess.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/nurbstess.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/nurbstess.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/nurbstess.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patch.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/patch.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patch.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/patch.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patch.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/patch.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patch.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/patch.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patchlist.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/patchlist.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patchlist.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/patchlist.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patchlist.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/patchlist.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/patchlist.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/patchlist.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/pwlarc.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/pwlarc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/pwlarc.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/pwlarc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/quilt.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/quilt.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/quilt.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/quilt.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/quilt.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/quilt.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/quilt.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/quilt.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/reader.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/reader.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/reader.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/reader.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/reader.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/reader.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/reader.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/reader.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/renderhints.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/renderhints.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/renderhints.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/renderhints.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/renderhints.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/renderhints.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/renderhints.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/renderhints.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/simplemath.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/simplemath.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/simplemath.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/simplemath.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/slicer.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/slicer.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/slicer.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/slicer.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/slicer.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/slicer.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/slicer.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/slicer.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/sorter.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/sorter.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/sorter.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/sorter.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/sorter.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/sorter.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/sorter.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/sorter.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/splitarcs.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/splitarcs.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/splitarcs.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/splitarcs.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/subdivider.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/subdivider.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/subdivider.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/subdivider.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/subdivider.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/subdivider.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/subdivider.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/subdivider.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/tobezier.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/tobezier.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/tobezier.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/tobezier.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimline.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimline.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimline.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimline.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimline.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimline.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimline.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimline.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimregion.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimregion.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimregion.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimregion.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimregion.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimregion.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimregion.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimregion.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertex.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertex.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertex.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertex.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertpool.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertpool.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertpool.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertpool.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertpool.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertpool.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/trimvertpool.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/trimvertpool.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/types.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/types.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/types.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/types.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/uarray.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/uarray.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/uarray.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/uarray.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/uarray.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/uarray.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/uarray.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/uarray.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/varray.cc b/reactos/dll/opengl/glu32/src/libnurbs/internals/varray.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/varray.cc rename to reactos/dll/opengl/glu32/src/libnurbs/internals/varray.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/varray.h b/reactos/dll/opengl/glu32/src/libnurbs/internals/varray.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/internals/varray.h rename to reactos/dll/opengl/glu32/src/libnurbs/internals/varray.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/definitions.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/definitions.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/definitions.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/definitions.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/directedLine.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/directedLine.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/directedLine.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/directedLine.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/glimports.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/glimports.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/glimports.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/glimports.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/gridWrap.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/gridWrap.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/gridWrap.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/gridWrap.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/gridWrap.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/gridWrap.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/gridWrap.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/gridWrap.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoChain.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoChain.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoChain.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoChain.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoChain.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoChain.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoChain.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoChain.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoPolyPart.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoPolyPart.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoPolyPart.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoPolyPart.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoPolyPart.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoPolyPart.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoTriangulation.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoTriangulation.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoTriangulation.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoTriangulation.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoTriangulation.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/monoTriangulation.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/mystdio.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/mystdio.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/mystdio.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/mystdio.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/mystdlib.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/mystdlib.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/mystdlib.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/mystdlib.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionX.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionX.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionX.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionX.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionX.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionX.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionX.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionX.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionY.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionY.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionY.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/partitionY.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyDBG.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyDBG.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyDBG.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyDBG.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyUtil.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyUtil.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyUtil.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/polyUtil.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/primitiveStream.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/primitiveStream.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/primitiveStream.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/primitiveStream.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/primitiveStream.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/primitiveStream.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/quicksort.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/quicksort.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/quicksort.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/quicksort.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/rectBlock.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/rectBlock.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/rectBlock.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/rectBlock.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/rectBlock.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/rectBlock.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/rectBlock.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/rectBlock.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleComp.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleComp.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleComp.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleComp.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleComp.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleComp.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleComp.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleComp.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompBot.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompBot.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompBot.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompBot.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompRight.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompRight.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompRight.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompRight.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompRight.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompRight.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompTop.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompTop.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompTop.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleCompTop.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleMonoPoly.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleMonoPoly.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleMonoPoly.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampleMonoPoly.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampledLine.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampledLine.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampledLine.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/sampledLine.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/searchTree.cc b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/searchTree.cc similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/searchTree.cc rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/searchTree.cc diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/searchTree.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/searchTree.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/searchTree.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/searchTree.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/zlassert.h b/reactos/dll/opengl/glu32/src/libnurbs/nurbtess/zlassert.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libnurbs/nurbtess/zlassert.h rename to reactos/dll/opengl/glu32/src/libnurbs/nurbtess/zlassert.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/README b/reactos/dll/opengl/glu32/src/libtess/README similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/README rename to reactos/dll/opengl/glu32/src/libtess/README diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/alg-outline b/reactos/dll/opengl/glu32/src/libtess/alg-outline similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/alg-outline rename to reactos/dll/opengl/glu32/src/libtess/alg-outline diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict-list.h b/reactos/dll/opengl/glu32/src/libtess/dict-list.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict-list.h rename to reactos/dll/opengl/glu32/src/libtess/dict-list.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict.c b/reactos/dll/opengl/glu32/src/libtess/dict.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict.c rename to reactos/dll/opengl/glu32/src/libtess/dict.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict.h b/reactos/dll/opengl/glu32/src/libtess/dict.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/dict.h rename to reactos/dll/opengl/glu32/src/libtess/dict.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/geom.c b/reactos/dll/opengl/glu32/src/libtess/geom.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/geom.c rename to reactos/dll/opengl/glu32/src/libtess/geom.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/geom.h b/reactos/dll/opengl/glu32/src/libtess/geom.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/geom.h rename to reactos/dll/opengl/glu32/src/libtess/geom.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/memalloc.c b/reactos/dll/opengl/glu32/src/libtess/memalloc.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/memalloc.c rename to reactos/dll/opengl/glu32/src/libtess/memalloc.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/memalloc.h b/reactos/dll/opengl/glu32/src/libtess/memalloc.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/memalloc.h rename to reactos/dll/opengl/glu32/src/libtess/memalloc.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/mesh.c b/reactos/dll/opengl/glu32/src/libtess/mesh.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/mesh.c rename to reactos/dll/opengl/glu32/src/libtess/mesh.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/mesh.h b/reactos/dll/opengl/glu32/src/libtess/mesh.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/mesh.h rename to reactos/dll/opengl/glu32/src/libtess/mesh.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/normal.c b/reactos/dll/opengl/glu32/src/libtess/normal.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/normal.c rename to reactos/dll/opengl/glu32/src/libtess/normal.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/normal.h b/reactos/dll/opengl/glu32/src/libtess/normal.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/normal.h rename to reactos/dll/opengl/glu32/src/libtess/normal.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-heap.c b/reactos/dll/opengl/glu32/src/libtess/priorityq-heap.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-heap.c rename to reactos/dll/opengl/glu32/src/libtess/priorityq-heap.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-heap.h b/reactos/dll/opengl/glu32/src/libtess/priorityq-heap.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-heap.h rename to reactos/dll/opengl/glu32/src/libtess/priorityq-heap.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-sort.h b/reactos/dll/opengl/glu32/src/libtess/priorityq-sort.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq-sort.h rename to reactos/dll/opengl/glu32/src/libtess/priorityq-sort.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq.c b/reactos/dll/opengl/glu32/src/libtess/priorityq.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq.c rename to reactos/dll/opengl/glu32/src/libtess/priorityq.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq.h b/reactos/dll/opengl/glu32/src/libtess/priorityq.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/priorityq.h rename to reactos/dll/opengl/glu32/src/libtess/priorityq.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/render.c b/reactos/dll/opengl/glu32/src/libtess/render.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/render.c rename to reactos/dll/opengl/glu32/src/libtess/render.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/render.h b/reactos/dll/opengl/glu32/src/libtess/render.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/render.h rename to reactos/dll/opengl/glu32/src/libtess/render.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/sweep.c b/reactos/dll/opengl/glu32/src/libtess/sweep.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/sweep.c rename to reactos/dll/opengl/glu32/src/libtess/sweep.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/sweep.h b/reactos/dll/opengl/glu32/src/libtess/sweep.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/sweep.h rename to reactos/dll/opengl/glu32/src/libtess/sweep.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/tess.c b/reactos/dll/opengl/glu32/src/libtess/tess.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/tess.c rename to reactos/dll/opengl/glu32/src/libtess/tess.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/tess.h b/reactos/dll/opengl/glu32/src/libtess/tess.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/tess.h rename to reactos/dll/opengl/glu32/src/libtess/tess.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/tessmono.c b/reactos/dll/opengl/glu32/src/libtess/tessmono.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/tessmono.c rename to reactos/dll/opengl/glu32/src/libtess/tessmono.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libtess/tessmono.h b/reactos/dll/opengl/glu32/src/libtess/tessmono.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libtess/tessmono.h rename to reactos/dll/opengl/glu32/src/libtess/tessmono.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/error.c b/reactos/dll/opengl/glu32/src/libutil/error.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/error.c rename to reactos/dll/opengl/glu32/src/libutil/error.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/glue.c b/reactos/dll/opengl/glu32/src/libutil/glue.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/glue.c rename to reactos/dll/opengl/glu32/src/libutil/glue.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/gluint.h b/reactos/dll/opengl/glu32/src/libutil/gluint.h similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/gluint.h rename to reactos/dll/opengl/glu32/src/libutil/gluint.h diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/mipmap.c b/reactos/dll/opengl/glu32/src/libutil/mipmap.c similarity index 99% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/mipmap.c rename to reactos/dll/opengl/glu32/src/libutil/mipmap.c index c475c96a208..8a45e39212d 100644 --- a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/mipmap.c +++ b/reactos/dll/opengl/glu32/src/libutil/mipmap.c @@ -3494,7 +3494,7 @@ noProxyTextures: } } /* closestFit() */ -GLint GLAPIENTRY +GLAPI GLint GLAPIENTRY gluScaleImage(GLenum format, GLsizei widthin, GLsizei heightin, GLenum typein, const void *datain, GLsizei widthout, GLsizei heightout, GLenum typeout, diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/project.c b/reactos/dll/opengl/glu32/src/libutil/project.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/project.c rename to reactos/dll/opengl/glu32/src/libutil/project.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/quad.c b/reactos/dll/opengl/glu32/src/libutil/quad.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/quad.c rename to reactos/dll/opengl/glu32/src/libutil/quad.c diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/libutil/registry.c b/reactos/dll/opengl/glu32/src/libutil/registry.c similarity index 100% rename from reactos/dll/opengl/mesa/src/glu/sgi/libutil/registry.c rename to reactos/dll/opengl/glu32/src/libutil/registry.c diff --git a/reactos/dll/opengl/mesa/src/CMakeLists.txt b/reactos/dll/opengl/mesa/src/CMakeLists.txt index a6290f7f325..758d7a77f2f 100644 --- a/reactos/dll/opengl/mesa/src/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/src/CMakeLists.txt @@ -1,6 +1,5 @@ add_subdirectory(gallium) add_subdirectory(glsl) -add_subdirectory(glu/sgi) add_subdirectory(mapi/glapi) -add_subdirectory(mesa) \ No newline at end of file +add_subdirectory(mesa) diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/CMakeLists.txt b/reactos/dll/opengl/mesa/src/glu/sgi/CMakeLists.txt deleted file mode 100644 index d0014558e3c..00000000000 --- a/reactos/dll/opengl/mesa/src/glu/sgi/CMakeLists.txt +++ /dev/null @@ -1,125 +0,0 @@ - -include_directories(#BEFORE - include - libnurbs/internals - libnurbs/interface - libnurbs/nurbtess -) - -add_definitions( - -DBUILD_GLU32 - -DNDEBUG - -DLIBRARYBUILD - -DRESOLVE_3D_TEXTURE_SUPPORT -) - -#this library uses C++ -set_cpp() - -# we must ue our own spec file -spec2def(glu32.dll glu32.spec ADD_IMPORTLIB) - -list(APPEND SOURCE - libutil/error.c - libutil/glue.c - libutil/mipmap.c - libutil/project.c - libutil/quad.c - libutil/registry.c - libtess/dict.c - libtess/geom.c - libtess/memalloc.c - libtess/mesh.c - libtess/normal.c - libtess/priorityq.c - libtess/render.c - libtess/sweep.c - libtess/tess.c - libtess/tessmono.c - libnurbs/interface/bezierEval.cc - libnurbs/interface/bezierPatch.cc - libnurbs/interface/bezierPatchMesh.cc - libnurbs/interface/glcurveval.cc - libnurbs/interface/glinterface.cc - libnurbs/interface/glrenderer.cc - libnurbs/interface/glsurfeval.cc - libnurbs/interface/incurveeval.cc - libnurbs/interface/insurfeval.cc - libnurbs/internals/arc.cc - libnurbs/internals/arcsorter.cc - libnurbs/internals/arctess.cc - libnurbs/internals/backend.cc - libnurbs/internals/basiccrveval.cc - libnurbs/internals/basicsurfeval.cc - libnurbs/internals/bin.cc - libnurbs/internals/bufpool.cc - libnurbs/internals/cachingeval.cc - libnurbs/internals/ccw.cc - libnurbs/internals/coveandtiler.cc - libnurbs/internals/curve.cc - libnurbs/internals/curvelist.cc - libnurbs/internals/curvesub.cc - libnurbs/internals/dataTransform.cc - libnurbs/internals/displaylist.cc - libnurbs/internals/flist.cc - libnurbs/internals/flistsorter.cc - libnurbs/internals/hull.cc - libnurbs/internals/intersect.cc - libnurbs/internals/knotvector.cc - libnurbs/internals/mapdesc.cc - libnurbs/internals/mapdescv.cc - libnurbs/internals/maplist.cc - libnurbs/internals/mesher.cc - libnurbs/internals/monoTriangulationBackend.cc - libnurbs/internals/monotonizer.cc - libnurbs/internals/mycode.cc - libnurbs/internals/nurbsinterfac.cc - libnurbs/internals/nurbstess.cc - libnurbs/internals/patch.cc - libnurbs/internals/patchlist.cc - libnurbs/internals/quilt.cc - libnurbs/internals/reader.cc - libnurbs/internals/renderhints.cc - libnurbs/internals/slicer.cc - libnurbs/internals/sorter.cc - libnurbs/internals/splitarcs.cc - libnurbs/internals/subdivider.cc - libnurbs/internals/tobezier.cc - libnurbs/internals/trimline.cc - libnurbs/internals/trimregion.cc - libnurbs/internals/trimvertpool.cc - libnurbs/internals/uarray.cc - libnurbs/internals/varray.cc - libnurbs/nurbtess/directedLine.cc - libnurbs/nurbtess/gridWrap.cc - libnurbs/nurbtess/monoChain.cc - libnurbs/nurbtess/monoPolyPart.cc - libnurbs/nurbtess/monoTriangulation.cc - libnurbs/nurbtess/partitionX.cc - libnurbs/nurbtess/partitionY.cc - libnurbs/nurbtess/polyDBG.cc - libnurbs/nurbtess/polyUtil.cc - libnurbs/nurbtess/primitiveStream.cc - libnurbs/nurbtess/quicksort.cc - libnurbs/nurbtess/rectBlock.cc - libnurbs/nurbtess/sampleComp.cc - libnurbs/nurbtess/sampleCompBot.cc - libnurbs/nurbtess/sampleCompRight.cc - libnurbs/nurbtess/sampleCompTop.cc - libnurbs/nurbtess/sampleMonoPoly.cc - libnurbs/nurbtess/sampledLine.cc - libnurbs/nurbtess/searchTree.cc - ${CMAKE_CURRENT_BINARY_DIR}/glu32.def -) - -add_library(glu32 SHARED ${SOURCE}) -set_module_type(glu32 win32dll ENTRYPOINT 0) - -add_importlibs(glu32 - opengl32 - gdi32 - msvcrt - kernel32 - ntdll) - -add_cd_file(TARGET glu32 DESTINATION reactos/system32 FOR all) \ No newline at end of file diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/SConscript b/reactos/dll/opengl/mesa/src/glu/sgi/SConscript deleted file mode 100644 index 94c74267fd2..00000000000 --- a/reactos/dll/opengl/mesa/src/glu/sgi/SConscript +++ /dev/null @@ -1,137 +0,0 @@ -Import('*') - -env = env.Clone() - -env.Prepend(CPPPATH = [ - 'include', - 'internals', - 'libnurbs/internals', - 'libnurbs/interface', - 'libnurbs/nurbtess', -]) - -env.Prepend(CPPDEFINES = [ - 'LIBRARYBUILD', - 'RESOLVE_3D_TEXTURE_SUPPORT', -]) - -sources = [ - 'libutil/error.c', - 'libutil/glue.c', - 'libutil/mipmap.c', - 'libutil/project.c', - 'libutil/quad.c', - 'libutil/registry.c', - 'libtess/dict.c', - 'libtess/geom.c', - 'libtess/memalloc.c', - 'libtess/mesh.c', - 'libtess/normal.c', - 'libtess/priorityq.c', - 'libtess/render.c', - 'libtess/sweep.c', - 'libtess/tess.c', - 'libtess/tessmono.c', - 'libnurbs/interface/bezierEval.cc', - 'libnurbs/interface/bezierPatch.cc', - 'libnurbs/interface/bezierPatchMesh.cc', - 'libnurbs/interface/glcurveval.cc', - 'libnurbs/interface/glinterface.cc', - 'libnurbs/interface/glrenderer.cc', - 'libnurbs/interface/glsurfeval.cc', - 'libnurbs/interface/incurveeval.cc', - 'libnurbs/interface/insurfeval.cc', - 'libnurbs/internals/arc.cc', - 'libnurbs/internals/arcsorter.cc', - 'libnurbs/internals/arctess.cc', - 'libnurbs/internals/backend.cc', - 'libnurbs/internals/basiccrveval.cc', - 'libnurbs/internals/basicsurfeval.cc', - 'libnurbs/internals/bin.cc', - 'libnurbs/internals/bufpool.cc', - 'libnurbs/internals/cachingeval.cc', - 'libnurbs/internals/ccw.cc', - 'libnurbs/internals/coveandtiler.cc', - 'libnurbs/internals/curve.cc', - 'libnurbs/internals/curvelist.cc', - 'libnurbs/internals/curvesub.cc', - 'libnurbs/internals/dataTransform.cc', - 'libnurbs/internals/displaylist.cc', - 'libnurbs/internals/flist.cc', - 'libnurbs/internals/flistsorter.cc', - 'libnurbs/internals/hull.cc', - 'libnurbs/internals/intersect.cc', - 'libnurbs/internals/knotvector.cc', - 'libnurbs/internals/mapdesc.cc', - 'libnurbs/internals/mapdescv.cc', - 'libnurbs/internals/maplist.cc', - 'libnurbs/internals/mesher.cc', - 'libnurbs/internals/monoTriangulationBackend.cc', - 'libnurbs/internals/monotonizer.cc', - 'libnurbs/internals/mycode.cc', - 'libnurbs/internals/nurbsinterfac.cc', - 'libnurbs/internals/nurbstess.cc', - 'libnurbs/internals/patch.cc', - 'libnurbs/internals/patchlist.cc', - 'libnurbs/internals/quilt.cc', - 'libnurbs/internals/reader.cc', - 'libnurbs/internals/renderhints.cc', - 'libnurbs/internals/slicer.cc', - 'libnurbs/internals/sorter.cc', - 'libnurbs/internals/splitarcs.cc', - 'libnurbs/internals/subdivider.cc', - 'libnurbs/internals/tobezier.cc', - 'libnurbs/internals/trimline.cc', - 'libnurbs/internals/trimregion.cc', - 'libnurbs/internals/trimvertpool.cc', - 'libnurbs/internals/uarray.cc', - 'libnurbs/internals/varray.cc', - 'libnurbs/nurbtess/directedLine.cc', - 'libnurbs/nurbtess/gridWrap.cc', - 'libnurbs/nurbtess/monoChain.cc', - 'libnurbs/nurbtess/monoPolyPart.cc', - 'libnurbs/nurbtess/monoTriangulation.cc', - 'libnurbs/nurbtess/partitionX.cc', - 'libnurbs/nurbtess/partitionY.cc', - 'libnurbs/nurbtess/polyDBG.cc', - 'libnurbs/nurbtess/polyUtil.cc', - 'libnurbs/nurbtess/primitiveStream.cc', - 'libnurbs/nurbtess/quicksort.cc', - 'libnurbs/nurbtess/rectBlock.cc', - 'libnurbs/nurbtess/sampleComp.cc', - 'libnurbs/nurbtess/sampleCompBot.cc', - 'libnurbs/nurbtess/sampleCompRight.cc', - 'libnurbs/nurbtess/sampleCompTop.cc', - 'libnurbs/nurbtess/sampleMonoPoly.cc', - 'libnurbs/nurbtess/sampledLine.cc', - 'libnurbs/nurbtess/searchTree.cc', -] - -if env['platform'] == 'windows': - # -D_OPENGL32_ -Iinclude -DBUILD_GL32 - env.PrependUnique(LIBS = [ - 'gdi32', - 'user32', - 'opengl32', - ]) - target = 'glu32' - sources += ['glu.def'] -else: - env.PrependUnique(LIBS = [ - 'GL', - ]) - target = 'glu' - -glu = env.SharedLibrary( - target = target, - source = sources -) - -env.Alias('glu', env.InstallSharedLibrary(glu, version=(1, 3, 0))) - -if env['platform'] == 'windows': - glu = env.FindIxes(glu, 'LIBPREFIX', 'LIBSUFFIX') -else: - glu = env.FindIxes(glu, 'SHLIBPREFIX', 'SHLIBSUFFIX') - -Export('glu') diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/dummy.cc b/reactos/dll/opengl/mesa/src/glu/sgi/dummy.cc deleted file mode 100644 index bd905a2608f..00000000000 --- a/reactos/dll/opengl/mesa/src/glu/sgi/dummy.cc +++ /dev/null @@ -1,4 +0,0 @@ -/* - * This file contains nothing. It's just there so there's at least a single - * source file for libGLU.la in this directory. - */ diff --git a/reactos/dll/opengl/mesa/src/glu/sgi/glu.def b/reactos/dll/opengl/mesa/src/glu/sgi/glu.def deleted file mode 100644 index 0c8b021767e..00000000000 --- a/reactos/dll/opengl/mesa/src/glu/sgi/glu.def +++ /dev/null @@ -1,88 +0,0 @@ -;DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32' -VERSION 5.1 -; -; Module definition file for GLU (GLU32.DLL) -; -; Note: The GLU functions use the STDCALL -; function calling convention. Microsoft's -; GLU32 uses this convention and so must the -; Mesa GLU32 so that the Mesa DLL can be used -; as a drop-in replacement. -; -; The linker exports STDCALL entry points with -; 'decorated' names; e.g., _glBegin@0, where the -; trailing number is the number of bytes of -; parameter data pushed onto the stack. The -; callee is responsible for popping this data -; off the stack, usually via a RETF n instruction. -; -; However, the Microsoft GLU32.DLL does not export -; the decorated names, even though the calling convention -; is STDCALL. So, this module definition file is -; needed to force the Mesa GLU32.DLL to export the -; symbols in the same manner as the Microsoft DLL. -; Were it not for this problem, this file would not -; be needed (for the glu* functions) since the entry -; points are compiled with dllexport declspec. -; - -EXPORTS - gluBeginCurve - gluBeginPolygon - gluBeginSurface - gluBeginTrim - gluBuild1DMipmapLevels - gluBuild1DMipmaps - gluBuild2DMipmapLevels - gluBuild2DMipmaps - gluBuild3DMipmapLevels - gluBuild3DMipmaps - gluCheckExtension - gluCylinder - gluDeleteNurbsRenderer - gluDeleteQuadric - gluDeleteTess - gluDisk - gluEndCurve - gluEndPolygon - gluEndSurface - gluEndTrim - gluErrorString - gluGetNurbsProperty - gluGetString - gluGetTessProperty - gluLoadSamplingMatrices - gluLookAt - gluNewNurbsRenderer - gluNewQuadric - gluNewTess - gluNextContour - gluNurbsCallback - gluNurbsCallbackData - gluNurbsCallbackDataEXT - gluNurbsCurve - gluNurbsProperty - gluNurbsSurface - gluOrtho2D - gluPartialDisk - gluPerspective - gluPickMatrix - gluProject - gluPwlCurve - gluQuadricCallback - gluQuadricDrawStyle - gluQuadricNormals - gluQuadricOrientation - gluQuadricTexture - gluScaleImage - gluSphere - gluTessBeginContour - gluTessBeginPolygon - gluTessCallback - gluTessEndContour - gluTessEndPolygon - gluTessNormal - gluTessProperty - gluTessVertex - gluUnProject - gluUnProject4 From 80ae4e6e8cd1c7d0db32194bdf9b02e167b91840 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 27 Oct 2012 16:39:18 +0000 Subject: [PATCH 13/16] [win32k] - Fix WARN macros - Keep a list of the PROCESSINFO of all the running processes - Count how many handles a process owns per type in PROCESSINFO - Improve the debug output when we run out of user handles to show all handle counts per process svn path=/trunk/; revision=57623 --- reactos/win32ss/include/ntuser.h | 3 +- reactos/win32ss/user/ntuser/main.c | 21 +++- reactos/win32ss/user/ntuser/ntuser.h | 1 + reactos/win32ss/user/ntuser/object.c | 124 +++++++++++++--------- reactos/win32ss/user/ntuser/object.h | 1 + reactos/win32ss/user/ntuser/win32.h | 2 + reactos/win32ss/user/ntuser/win32kdebug.h | 2 +- 7 files changed, 102 insertions(+), 52 deletions(-) diff --git a/reactos/win32ss/include/ntuser.h b/reactos/win32ss/include/ntuser.h index b0f8732b0ee..3a0e9630d87 100644 --- a/reactos/win32ss/include/ntuser.h +++ b/reactos/win32ss/include/ntuser.h @@ -56,7 +56,8 @@ typedef enum _USER_OBJECT_TYPE otHidData, otDeviceInfo, otTouchInput, - otGestureInfo + otGestureInfo, + USER_HANDLE_TYPE_COUNT } USER_OBJECT_TYPE; typedef enum _USERTHREADINFOCLASS diff --git a/reactos/win32ss/user/ntuser/main.c b/reactos/win32ss/user/ntuser/main.c index 6b9a5ed0ce1..92217d6a9e2 100644 --- a/reactos/win32ss/user/ntuser/main.c +++ b/reactos/win32ss/user/ntuser/main.c @@ -26,6 +26,7 @@ PSERVERINFO gpsi = NULL; // Global User Server Information. SHORT gusLanguageID; PPROCESSINFO ppiScrnSaver; +PPROCESSINFO gppiList = NULL; extern ULONG_PTR Win32kSSDT[]; extern UCHAR Win32kSSPT[]; @@ -55,7 +56,7 @@ APIENTRY Win32kProcessCallback(struct _EPROCESS *Process, BOOLEAN Create) { - PPROCESSINFO ppiCurrent; + PPROCESSINFO ppiCurrent, *pppi; DECLARE_RETURN(NTSTATUS); ASSERT(Process->Peb); @@ -160,6 +161,10 @@ Win32kProcessCallback(struct _EPROCESS *Process, ASSERT(ppiCurrent->pPoolDcAttr); ASSERT(ppiCurrent->pPoolBrushAttr); ASSERT(ppiCurrent->pPoolRgnAttr); + + /* Add the process to the global list */ + ppiCurrent->ppiNext = gppiList; + gppiList = ppiCurrent; } else { @@ -212,11 +217,25 @@ Win32kProcessCallback(struct _EPROCESS *Process, if (gppiInputProvider == ppiCurrent) gppiInputProvider = NULL; + pppi = &gppiList; + while (*pppi != NULL && *pppi != ppiCurrent) + pppi = &(*pppi)->ppiNext; + + ASSERT(*pppi == ppiCurrent); + + *pppi = ppiCurrent->ppiNext; + TRACE_CH(UserProcess,"Freeing ppi 0x%p\n", ppiCurrent); /* Ftee the PROCESSINFO */ PsSetProcessWin32Process(Process, NULL); ExFreePoolWithTag(ppiCurrent, USERTAG_PROCESSINFO); +#if DBG + if (DBG_IS_CHANNEL_ENABLED(ppiCurrent, DbgChUserObj, WARN_LEVEL)) + { + DbgUserDumpHandleTable(); + } +#endif } RETURN( STATUS_SUCCESS); diff --git a/reactos/win32ss/user/ntuser/ntuser.h b/reactos/win32ss/user/ntuser/ntuser.h index b45a2d0843b..aab3ba3249e 100644 --- a/reactos/win32ss/user/ntuser/ntuser.h +++ b/reactos/win32ss/user/ntuser/ntuser.h @@ -12,6 +12,7 @@ extern BOOL gbInitialized; extern PSERVERINFO gpsi; extern PTHREADINFO gptiCurrent; +extern PPROCESSINFO gppiList; extern PPROCESSINFO ppiScrnSaver; extern PPROCESSINFO gppiInputProvider; diff --git a/reactos/win32ss/user/ntuser/object.c b/reactos/win32ss/user/ntuser/object.c index fdb318d081f..8117363417b 100644 --- a/reactos/win32ss/user/ntuser/object.c +++ b/reactos/win32ss/user/ntuser/object.c @@ -12,6 +12,66 @@ DBG_DEFAULT_CHANNEL(UserObj); //int usedHandles=0; PUSER_HANDLE_TABLE gHandleTable = NULL; +#if DBG + +void DbgUserDumpHandleTable() +{ + int HandleCounts[USER_HANDLE_TYPE_COUNT]; + PPROCESSINFO ppiList; + int i; + PWCHAR TypeNames[] = {L"Free",L"Window",L"Menu", L"CursorIcon", L"SMWP", L"Hook", L"ClipBoardData", L"CallProc", + L"Accel", L"DDEaccess", L"DDEconv", L"DDExact", L"Monitor", L"KBDlayout", L"KBDfile", + L"Event", L"Timer", L"InputContext", L"HidData", L"DeviceInfo", L"TouchInput",L"GestureInfo"}; + + ERR("Total handles count: %d\n", gpsi->cHandleEntries); + + memset(HandleCounts, 0, sizeof(HandleCounts)); + + /* First of all count the number of handles per tpe */ + ppiList = gppiList; + while (ppiList) + { + ERR("Process %s (%d) handles count: %d\n\t", ppiList->peProcess->ImageFileName, ppiList->peProcess->UniqueProcessId, ppiList->UserHandleCount); + + for (i = 1 ;i < USER_HANDLE_TYPE_COUNT; i++) + { + HandleCounts[i] += ppiList->DbgHandleCount[i]; + + DbgPrint("%S: %d, ", TypeNames[i], ppiList->DbgHandleCount[i]); + if (i % 6 == 0) + DbgPrint("\n\t"); + } + DbgPrint("\n"); + + ppiList = ppiList->ppiNext; + } + + /* Print total type counts */ + ERR("Total handles of the running processes: \n\t"); + for (i = 1 ;i < USER_HANDLE_TYPE_COUNT; i++) + { + DbgPrint("%S: %d, ", TypeNames[i], HandleCounts[i]); + if (i % 6 == 0) + DbgPrint("\n\t"); + } + DbgPrint("\n"); + + /* Now count the handle counts that are allocated from the handle table */ + memset(HandleCounts, 0, sizeof(HandleCounts)); + for (i = 0; i < gHandleTable->nb_handles; i++) + HandleCounts[gHandleTable->handles[i].type]++; + + ERR("Total handles count allocated: \n\t"); + for (i = 1 ;i < USER_HANDLE_TYPE_COUNT; i++) + { + DbgPrint("%S: %d, ", TypeNames[i], HandleCounts[i]); + if (i % 6 == 0) + DbgPrint("\n\t"); + } + DbgPrint("\n"); +} + +#endif PUSER_HANDLE_ENTRY handle_to_entry(PUSER_HANDLE_TABLE ht, HANDLE handle ) { @@ -51,55 +111,12 @@ __inline static PUSER_HANDLE_ENTRY alloc_user_entry(PUSER_HANDLE_TABLE ht) if (ht->nb_handles >= ht->allocated_handles) /* Need to grow the array */ { -/**/ - int i, iFree = 0, iWindow = 0, iMenu = 0, iCursorIcon = 0, - iHook = 0, iCallProc = 0, iAccel = 0, iMonitor = 0, iTimer = 0, iEvent = 0, iSMWP = 0; - /**/ - ERR("Out of user handles! Used -> %i, NM_Handle -> %d\n", gpsi->cHandleEntries, ht->nb_handles); -//#if 0 - for(i = 0; i < ht->nb_handles; i++) - { - switch (ht->handles[i].type) - { - case otFree: // Should be zero. - iFree++; - break; - case otWindow: - iWindow++; - break; - case otMenu: - iMenu++; - break; - case otCursorIcon: - iCursorIcon++; - break; - case otHook: - iHook++; - break; - case otCallProc: - iCallProc++; - break; - case otAccel: - iAccel++; - break; - case otMonitor: - iMonitor++; - break; - case otTimer: - iTimer++; - break; - case otEvent: - iEvent++; - break; - case otSMWP: - iSMWP++; - default: - break; - } - } - ERR("Handle Count by Type:\n Free = %d Window = %d Menu = %d CursorIcon = %d Hook = %d\n CallProc = %d Accel = %d Monitor = %d Timer = %d Event = %d SMWP = %d\n", - iFree, iWindow, iMenu, iCursorIcon, iHook, iCallProc, iAccel, iMonitor, iTimer, iEvent, iSMWP ); -//#endif + ERR("Out of user handles! Used -> %i, NM_Handle -> %d\n", gpsi->cHandleEntries, ht->nb_handles); + +#if DBG + DbgUserDumpHandleTable(); +#endif + return NULL; #if 0 PUSER_HANDLE_ENTRY new_handles; @@ -138,6 +155,11 @@ __inline static void *free_user_entry(PUSER_HANDLE_TABLE ht, PUSER_HANDLE_ENTRY { PPROCESSINFO ppi = PsGetCurrentProcessWin32Process(); void *ret; + +#if DBG + ppi->DbgHandleCount[entry->type]--; +#endif + ret = entry->ptr; entry->ptr = ht->freelist; entry->type = 0; @@ -339,6 +361,10 @@ UserCreateObject( PUSER_HANDLE_TABLE ht, return NULL; } +#if DBG + ppi->DbgHandleCount[type]++; +#endif + RtlZeroMemory(Object, size); switch (type) diff --git a/reactos/win32ss/user/ntuser/object.h b/reactos/win32ss/user/ntuser/object.h index eabc6558616..cad7ce2e0df 100644 --- a/reactos/win32ss/user/ntuser/object.h +++ b/reactos/win32ss/user/ntuser/object.h @@ -39,6 +39,7 @@ PVOID UserGetObject(PUSER_HANDLE_TABLE ht, HANDLE handle, USER_OBJECT_TYPE type PVOID UserGetObjectNoErr(PUSER_HANDLE_TABLE, HANDLE, USER_OBJECT_TYPE); BOOL FASTCALL UserCreateHandleTable(VOID); BOOL FASTCALL UserObjectInDestroy(HANDLE); +void DbgUserDumpHandleTable(); static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry) diff --git a/reactos/win32ss/user/ntuser/win32.h b/reactos/win32ss/user/ntuser/win32.h index a6290e62b81..4bec70a8772 100644 --- a/reactos/win32ss/user/ntuser/win32.h +++ b/reactos/win32ss/user/ntuser/win32.h @@ -195,6 +195,7 @@ typedef struct _PROCESSINFO PTHREADINFO ptiList; PTHREADINFO ptiMainThread; struct _DESKTOP* rpdeskStartup; + PPROCESSINFO ppiNext; PCLS pclsPrivateList; PCLS pclsPublicList; INT cThreads; @@ -224,6 +225,7 @@ typedef struct _PROCESSINFO #if DBG BYTE DbgChannelLevel[DbgChCount]; + DWORD DbgHandleCount[USER_HANDLE_TYPE_COUNT]; #endif } PROCESSINFO; diff --git a/reactos/win32ss/user/ntuser/win32kdebug.h b/reactos/win32ss/user/ntuser/win32kdebug.h index 83de71a8314..d26c4c18796 100644 --- a/reactos/win32ss/user/ntuser/win32kdebug.h +++ b/reactos/win32ss/user/ntuser/win32kdebug.h @@ -125,7 +125,7 @@ #define DBG_ENABLE_CHANNEL(ppi,ch,level) ((ppi)->DbgChannelLevel[ch] |= level) #define DBG_DISABLE_CHANNEL(ppi,ch,level) ((ppi)->DbgChannelLevel[ch] &= ~level) - #define DBG_IS_CHANNEL_ENABLED(ppi,ch,level) ((ppi)->DbgChannelLevel[ch] & level) + #define DBG_IS_CHANNEL_ENABLED(ppi,ch,level) (((ppi)->DbgChannelLevel[ch] & level) == level) #define DBG_PRINT(ppi,ch,level,fmt, ...) do { \ if((level == ERR_LEVEL) || (ppi && DBG_IS_CHANNEL_ENABLED(ppi,ch,level))) \ From 9ee3916cee4d3683abddfbcfd391518ecc8608be Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 27 Oct 2012 18:06:10 +0000 Subject: [PATCH 14/16] [win32k] - Double the size of the user handle table in order to allow the test suite to complete despite the horrible object leaks svn path=/trunk/; revision=57624 --- reactos/win32ss/user/ntuser/object.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/win32ss/user/ntuser/object.c b/reactos/win32ss/user/ntuser/object.c index 8117363417b..375e3bfbaa2 100644 --- a/reactos/win32ss/user/ntuser/object.c +++ b/reactos/win32ss/user/ntuser/object.c @@ -283,11 +283,11 @@ void *get_user_object_handle(PUSER_HANDLE_TABLE ht, HANDLE* handle, USER_OBJECT BOOL FASTCALL UserCreateHandleTable(VOID) { - PVOID mem; + INT HandleCount = 1024 * 4; // FIXME: Don't alloc all at once! Must be mapped into umode also... - mem = UserHeapAlloc(sizeof(USER_HANDLE_ENTRY) * 1024*2); + mem = UserHeapAlloc(sizeof(USER_HANDLE_ENTRY) * HandleCount); if (!mem) { ERR("Failed creating handle table\n"); @@ -303,7 +303,7 @@ BOOL FASTCALL UserCreateHandleTable(VOID) } // FIXME: Make auto growable - UserInitHandleTable(gHandleTable, mem, sizeof(USER_HANDLE_ENTRY) * 1024*2); + UserInitHandleTable(gHandleTable, mem, sizeof(USER_HANDLE_ENTRY) * HandleCount); return TRUE; } From bd8c5df1b0975162589fb34671b3c8fb6edec6d1 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 27 Oct 2012 19:38:12 +0000 Subject: [PATCH 15/16] [SAMSRV] - Fix MSVC build warnings. - Implement SamrAddMultipeMembersToAlias. - Add missing user attributes to the user setup code. svn path=/trunk/; revision=57626 --- reactos/dll/win32/samsrv/database.c | 4 +- reactos/dll/win32/samsrv/samrpc.c | 43 +++++++++++++++++----- reactos/dll/win32/samsrv/setup.c | 57 +++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 12 deletions(-) diff --git a/reactos/dll/win32/samsrv/database.c b/reactos/dll/win32/samsrv/database.c index 199b549a9db..95811fb14b9 100644 --- a/reactos/dll/win32/samsrv/database.c +++ b/reactos/dll/win32/samsrv/database.c @@ -764,8 +764,8 @@ SampGetObjectAttributeString(PSAM_DB_OBJECT DbObject, goto done; } - String->Length = Length - sizeof(WCHAR); - String->MaximumLength = Length; + String->Length = (USHORT)(Length - sizeof(WCHAR)); + String->MaximumLength = (USHORT)Length; String->Buffer = midl_user_allocate(Length); if (String->Buffer == NULL) { diff --git a/reactos/dll/win32/samsrv/samrpc.c b/reactos/dll/win32/samsrv/samrpc.c index bcaba9c2229..826bdc7f7f2 100644 --- a/reactos/dll/win32/samsrv/samrpc.c +++ b/reactos/dll/win32/samsrv/samrpc.c @@ -17,6 +17,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(samsrv); static SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY}; + /* FUNCTIONS ***************************************************************/ VOID @@ -3051,6 +3052,8 @@ done: Use->Count = 0; } + TRACE("Returned Status %lx\n", Status); + return Status; } @@ -3145,8 +3148,8 @@ SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle, if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR)); Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -3201,8 +3204,8 @@ SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle, if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR)); Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -3259,8 +3262,8 @@ SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle, if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR)); Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -4319,6 +4322,7 @@ done: return Status; } + /* Function 34 */ NTSTATUS NTAPI @@ -4367,6 +4371,7 @@ SamrOpenUser(IN SAMPR_HANDLE DomainHandle, return STATUS_SUCCESS; } + /* Function 35 */ NTSTATUS NTAPI @@ -4678,8 +4683,6 @@ done: } - - static NTSTATUS SampQueryUserAccount(PSAM_DB_OBJECT UserObject, @@ -6283,6 +6286,7 @@ SamrCreateUser2InDomain(IN SAMPR_HANDLE DomainHandle, return Status; } + /* Function 51 */ NTSTATUS NTAPI @@ -6299,16 +6303,35 @@ SamrQueryDisplayInformation3(IN SAMPR_HANDLE DomainHandle, return STATUS_NOT_IMPLEMENTED; } + /* Function 52 */ NTSTATUS NTAPI SamrAddMultipleMembersToAlias(IN SAMPR_HANDLE AliasHandle, IN PSAMPR_PSID_ARRAY MembersBuffer) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + ULONG i; + NTSTATUS Status = STATUS_SUCCESS; + + TRACE("SamrAddMultipleMembersToAlias(%p %p)\n", + AliasHandle, MembersBuffer); + + for (i = 0; i < MembersBuffer->Count; i++) + { + Status = SamrAddMemberToAlias(AliasHandle, + ((PSID *)MembersBuffer->Sids)[i]); + + if (Status == STATUS_MEMBER_IN_ALIAS) + Status = STATUS_SUCCESS; + + if (!NT_SUCCESS(Status)) + break; + } + + return Status; } + /* Function 53 */ NTSTATUS NTAPI diff --git a/reactos/dll/win32/samsrv/setup.c b/reactos/dll/win32/samsrv/setup.c index fed27722434..28a1d4bc5f3 100644 --- a/reactos/dll/win32/samsrv/setup.c +++ b/reactos/dll/win32/samsrv/setup.c @@ -224,6 +224,7 @@ SampCreateUserAccount(HKEY hDomainKey, ULONG ulRelativeId) { SAM_USER_FIXED_DATA FixedUserData; + LPWSTR lpEmptyString = L""; DWORD dwDisposition; WCHAR szAccountKeyName[32]; HKEY hAccountKey = NULL; @@ -261,6 +262,62 @@ SampCreateUserAccount(HKEY hDomainKey, (LPVOID)lpAccountName, (wcslen(lpAccountName) + 1) * sizeof(WCHAR)); + RegSetValueEx(hAccountKey, + L"FullName", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"HomeDirectory", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"HomeDirectoryDrive", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"ScriptPath", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"ProfilePath", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"AdminComment", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"UserComment", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"WorkStations", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + RegCloseKey(hAccountKey); } From 0c2a7795469538282e97b6e727680324cf9fccc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Sun, 28 Oct 2012 01:58:36 +0000 Subject: [PATCH 16/16] [FREELDR] - Use a better workaround for the objcopy bug svn path=/trunk/; revision=57629 --- reactos/boot/freeldr/freeldr/CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reactos/boot/freeldr/freeldr/CMakeLists.txt b/reactos/boot/freeldr/freeldr/CMakeLists.txt index 7f92a7735ca..8f48a344b0e 100644 --- a/reactos/boot/freeldr/freeldr/CMakeLists.txt +++ b/reactos/boot/freeldr/freeldr/CMakeLists.txt @@ -1,7 +1,8 @@ if(SEPARATE_DBG) # FIXME: http://sourceware.org/bugzilla/show_bug.cgi?id=11822 - set(CMAKE_C_CREATE_SHARED_LIBRARY " -o ") + set(CMAKE_LDR_PE_HELPER_CREATE_SHARED_LIBRARY " -o ") + set(CMAKE_LDR_PE_HELPER_STANDARD_LIBRARIES "-lgcc" CACHE STRING "Standard C Libraries") endif() spec2def(freeldr.sys freeldr.spec) @@ -171,6 +172,10 @@ endif() if((NOT MSVC) AND (CMAKE_VERSION VERSION_GREATER 2.8.7)) add_library(freeldr_pe SHARED $ ${FREELDR_BASE_SOURCE}) add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL $ ${FREELDR_BASE_SOURCE}) + if(SEPARATE_DBG) + set_target_properties(freeldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + set_target_properties(freeldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + endif() else() add_library(freeldr_pe SHARED ${FREELDR_BASE_SOURCE}) add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE}) @@ -231,6 +236,10 @@ endif() if((NOT MSVC) AND (CMAKE_VERSION VERSION_GREATER 2.8.7)) add_library(setupldr_pe SHARED $ ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL $ ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) + if(SEPARATE_DBG) + set_target_properties(setupldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + set_target_properties(setupldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + endif() else() add_library(setupldr_pe SHARED ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})