mirror of
https://review.haiku-os.org/haiku
synced 2025-02-12 08:39:18 +01:00
(And surrounding portions of the "btCoreData" module.) * Rewrote the main "l2cap.h" header representing protocol constants and structures. Now conforms to general Haiku naming conventions rather than BSD ones. Some more constants added/removed based on the most recent Bluetooth specification. * Rewrote all code derived from the BSDs to match Haiku conventions and structures in the driver. * Dropped the "channel" and "frame" structures from "btCoreData". Channels are now managed by L2capEndpoints, and "frames" are now just plain net_buffers without surrounding structures. This also makes state management much simpler. * Made it so that actual net_buffers are passed through to the l2cap_receive function rather than another data structure. A fake interface address is used to communicate connection information. (This probably ought to be changed, though.) * Get rid of l2cap_lower and l2cap_upper abstractions. Everything related to channel/endpoint management is now done in L2capEndpoint, while buffer reception is handled directly in l2cap_receive and elsewhere, same as other drivers. * Wire up more hooks and fix module flags (needed to be able to get the module loaded and opening sockets at all.) * Implement an actual locking strategy in L2capEndpoint and HciConnection. There's still problems with lifetime management, but at least thread-safety is mostly handled. * Create an L2capEndpointManager and use it to manage the endpoints, rather than having a single (unsafe) linked-list. And plenty of other refactorings and cleanups besides. There's still more to be done for Bluetooth overall, though: * The "btCoreData" and "hci" modules also badly need a major overhaul, and should be merged into a single "bluetooth" bus_manager. They also shouldn't be passing around pointers to other modules like this. * There's a number of TODOs/FIXMEs in the L2CAP module, most notably around timeouts (especially command timeouts) and parameter validation/specification. Tested by myself with kallisti5's help. Incoming connections (on the PSM for SDP) get all the way to the latter half of the Configuration step before hanging.
299 lines
6.7 KiB
Plaintext
299 lines
6.7 KiB
Plaintext
# This file defines the content of the regular Haiku image.
|
|
|
|
# import everything from the minimum image
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions minimum ] ;
|
|
|
|
SEARCH on [ FGristFiles userguide quicktour welcome ]
|
|
= [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
SYSTEM_BIN += userguide quicktour welcome ;
|
|
|
|
SYSTEM_BIN += [ FFilterByBuildFeatures
|
|
cddb_lookup
|
|
clipboard CortexAddOnHost
|
|
dpms
|
|
FirstBootPrompt
|
|
<bin>i2c@x86,x86_64 installsound
|
|
mail mail2mbox mbox2mail media_client mount_nfs
|
|
pidof recover screenshot setcontrollook setdecor spamdbm
|
|
translate
|
|
WindowShade
|
|
] ;
|
|
|
|
SYSTEM_APPS += [ FFilterByBuildFeatures
|
|
ActivityMonitor AutoRaise
|
|
CodyCam
|
|
GLInfo@mesa
|
|
HaikuDepot
|
|
Icon-O-Matic@expat LaunchBox LegacyPackageInstaller
|
|
Magnify Mail MediaConverter MediaPlayer MidiPlayer
|
|
People PoorMan PowerStatus
|
|
RemoteDesktop
|
|
Screenshot SerialConnect SoftwareUpdater SoundRecorder
|
|
] ;
|
|
|
|
DESKBAR_APPLICATIONS +=
|
|
ActivityMonitor
|
|
CodyCam
|
|
HaikuDepot
|
|
Icon-O-Matic
|
|
Magnify Mail MediaConverter MediaPlayer MidiPlayer
|
|
People PoorMan
|
|
SerialConnect SoftwareUpdater SoundRecorder
|
|
;
|
|
|
|
DESKBAR_DESKTOP_APPLETS +=
|
|
AutoRaise
|
|
LaunchBox
|
|
PowerStatus
|
|
;
|
|
|
|
SYSTEM_PREFERENCES += [ FFilterByBuildFeatures
|
|
Bluetooth
|
|
DataTranslations
|
|
E-mail
|
|
Media
|
|
Printers
|
|
Repositories
|
|
ScreenSaver Sounds
|
|
] ;
|
|
|
|
SYSTEM_DEMOS += [ FFilterByBuildFeatures
|
|
Chart Clock Cortex@expat FontDemo GLTeapot@mesa
|
|
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@mesa Mandelbrot OverlayImage Pairs
|
|
PatchBay Playground Pulse Sudoku
|
|
] ;
|
|
|
|
|
|
rule HaikuImageGetSystemLibs
|
|
{
|
|
return
|
|
# libs with special grist
|
|
[ MultiArchDefaultGristFiles libroot.so : revisioned ]
|
|
[ Libstdc++ForImage ]
|
|
# libs with standard grist
|
|
[ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
|
|
libalm.so
|
|
libbe.so libbsd.so libbnetapi.so
|
|
libbluetooth.so
|
|
libdebug.so
|
|
libdebugger.so@primary
|
|
libdevice.so
|
|
libgame.so libglut.so@mesa libgnu.so
|
|
libmail.so libmedia.so libmidi.so libmidi2.so
|
|
libnetwork.so
|
|
libpackage.so
|
|
libscreensaver.so
|
|
libtextencoding.so libtracker.so libtranslation.so
|
|
] ]
|
|
;
|
|
}
|
|
|
|
|
|
rule HaikuImageGetPrivateSystemLibs
|
|
{
|
|
return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
|
|
libalm.so
|
|
libpackage-add-on-libsolv.so
|
|
libroot-addon-icu.so
|
|
] ] ;
|
|
}
|
|
|
|
|
|
SYSTEM_SERVERS += [ FFilterByBuildFeatures
|
|
mail_daemon media_addon_server media_server midi_server
|
|
nfs4_idmapper_server bluetooth_server
|
|
print_server print_addon_server
|
|
] ;
|
|
|
|
# Bluetooth stack + drivers
|
|
#SYSTEM_NETWORK_PROTOCOLS += l2cap ;
|
|
SYSTEM_BT_STACK = hci btCoreData ;
|
|
SYSTEM_ADD_ONS_DRIVERS_BT_H2 +=
|
|
h2generic
|
|
;
|
|
|
|
SYSTEM_ADD_ONS_ACCELERANTS += [ FFilterByBuildFeatures
|
|
x86,x86_64 @{
|
|
ati.accelerant
|
|
intel_810.accelerant intel_extreme.accelerant
|
|
matrox.accelerant
|
|
nvidia.accelerant
|
|
radeon.accelerant radeon_hd.accelerant
|
|
via.accelerant
|
|
}@ # x86,x86_64
|
|
x86 @{
|
|
3dfx.accelerant neomagic.accelerant s3.accelerant
|
|
}@ # x86
|
|
virtio_gpu.accelerant
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_TRANSLATORS += [ FFilterByBuildFeatures
|
|
AVIFTranslator@libavif
|
|
BMPTranslator
|
|
EXRTranslator@openexr
|
|
GIFTranslator
|
|
HVIFTranslator
|
|
ICOTranslator ICNSTranslator@libicns
|
|
JPEGTranslator@jpeg JPEG2000Translator@jasper
|
|
PCXTranslator PNGTranslator@libpng PPMTranslator PSDTranslator
|
|
RAWTranslator RTFTranslator
|
|
SGITranslator
|
|
TGATranslator TIFFTranslator@tiff
|
|
WebPTranslator@libwebp WonderBrushTranslator
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_MEDIA += [ FFilterByBuildFeatures
|
|
cortex_audioadapter.media_addon cortex_flanger.media_addon
|
|
cortex_logging_consumer.media_addon
|
|
dvb.media_addon@x86
|
|
equalizer.media_addon
|
|
hmulti_audio.media_addon
|
|
#legacy.media_addon
|
|
mixer.media_addon
|
|
opensound.media_addon
|
|
tone_producer_demo.media_addon
|
|
usb_webcam.media_addon
|
|
video_producer_demo.media_addon video_window_demo.media_addon
|
|
vst_host.media_addon
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_MEDIA_PLUGINS += [ FFilterByBuildFeatures
|
|
ape_reader@x86
|
|
ffmpeg@ffmpeg
|
|
http_streamer
|
|
raw_decoder
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_PRINT += [ FFilterByBuildFeatures
|
|
Canon\ LIPS3\ Compatible
|
|
Canon\ LIPS4\ Compatible
|
|
Gutenprint@gutenprint
|
|
PCL5\ Compatible
|
|
PCL6\ Compatible
|
|
PS\ Compatible
|
|
Preview
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_PRINT_TRANSPORT +=
|
|
HP\ JetDirect
|
|
IPP
|
|
LPR
|
|
# Parallel\ Port
|
|
Print\ To\ File
|
|
Serial\ Port
|
|
USB\ Port
|
|
;
|
|
|
|
SYSTEM_ADD_ONS_SCREENSAVERS += [ FFilterByBuildFeatures
|
|
Butterfly
|
|
DebugNow
|
|
Flurry@mesa
|
|
GLife@mesa Gravity@mesa
|
|
Icons IFS
|
|
Leaves
|
|
Message
|
|
Nebula
|
|
Shelf
|
|
Spider
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_AUDIO +=
|
|
auich auvia
|
|
echo3g emuxki es1370
|
|
hda
|
|
ice1712
|
|
usb_audio
|
|
sis7018
|
|
;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD +=
|
|
#cmedia
|
|
;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS += [ FFilterByBuildFeatures
|
|
x86,x86_64 @{
|
|
ati
|
|
intel_810 intel_extreme
|
|
matrox
|
|
nvidia
|
|
radeon radeon_hd
|
|
via
|
|
}@ # x86,x86_64
|
|
x86 @{
|
|
3dfx
|
|
neomagic
|
|
s3
|
|
}@ # x86
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_MIDI +=
|
|
emuxki
|
|
ice1712
|
|
usb_midi
|
|
;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_NET += [ FFilterByBuildFeatures
|
|
# WLAN drivers
|
|
x86,x86_64,riscv64 @{
|
|
aironetwifi atheroswifi
|
|
broadcom43xx
|
|
iaxwifi200 idualwifi7260
|
|
iprowifi2100 iprowifi2200 iprowifi3945 iprowifi4965
|
|
marvell88w8363 marvell88w8335
|
|
ralinkwifi realtekwifi
|
|
}@ # x86,x86_64,riscv64
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_DRIVERS_POWER += [ FFilterByBuildFeatures
|
|
acpi_battery@x86,x86_64
|
|
] ;
|
|
|
|
SYSTEM_ADD_ONS_FILE_SYSTEMS +=
|
|
cdda
|
|
#googlefs
|
|
nfs nfs4
|
|
ufs2
|
|
;
|
|
|
|
# Mailbox folders and symlink
|
|
AddDirectoryToHaikuImage home mail : home-mail.rdef ;
|
|
AddDirectoryToHaikuImage home mail draft : home-mail-draft.rdef ;
|
|
AddDirectoryToHaikuImage home mail in : home-mail-in.rdef ;
|
|
AddDirectoryToHaikuImage home mail out : home-mail-out.rdef ;
|
|
AddDirectoryToHaikuImage home mail queries : home-mail-queries.rdef ;
|
|
AddDirectoryToHaikuImage home mail sent : home-mail-sent.rdef ;
|
|
AddDirectoryToHaikuImage home mail spam : home-mail-spam.rdef ;
|
|
|
|
# Add boot launch directory
|
|
AddDirectoryToHaikuImage home config settings boot launch ;
|
|
|
|
# Add mail provider infos.
|
|
AddFilesToHaikuImage home config settings Mail ProviderInfo :
|
|
$(HAIKU_PROVIDER_INFOS) ;
|
|
|
|
# Add Tracker New Templates
|
|
AddDirectoryToHaikuImage home config settings Tracker "Tracker New Templates"
|
|
: tracker-new-templates.rdef ;
|
|
AddFilesToHaikuImage home config settings Tracker "Tracker New Templates"
|
|
:
|
|
"<tracker-new-templates>C++ header"
|
|
"<tracker-new-templates>C++ source"
|
|
"<tracker-new-templates>Makefile"
|
|
"<tracker-new-templates>Person"
|
|
"<tracker-new-templates>text file"
|
|
;
|
|
|
|
# printers
|
|
AddDirectoryToHaikuImage home config settings printers Preview
|
|
: home-config-settings-printers-preview.rdef ;
|
|
AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
|
: home-config-settings-printers-save-as-pdf.rdef ;
|
|
|
|
# padblocker
|
|
AddDirectoryToHaikuImage home config settings touchpad ;
|
|
|
|
# shortcuts defaults
|
|
local shortcutsSettingsFile = <settings>shortcuts_settings ;
|
|
SEARCH on $(shortcutsSettingsFile) = [ FDirName $(HAIKU_TOP) data settings ] ;
|
|
AddFilesToHaikuImage home config settings : $(shortcutsSettingsFile) ;
|