@@ -352,9 +352,9 @@ AC_ARG_WITH([prebuilt-webinterface],
352
352
) ] ,
353
353
[ [ with_prebuilt_webinterface=] ] )
354
354
if test "x$with_prebuilt_webinterface" = "xyes"; then
355
- BUILD_WEBINTERFACE=
355
+ BUILD_WEBINTERFACE=
356
356
else
357
- BUILD_WEBINTERFACE=true
357
+ BUILD_WEBINTERFACE=true
358
358
fi
359
359
AC_SUBST ( [ BUILD_WEBINTERFACE] )
360
360
@@ -414,4 +414,234 @@ AC_CONFIG_FILES([
414
414
Makefile
415
415
owntone.spec
416
416
] )
417
+
418
+ WEBSRC_SUBDIRS="\
419
+ public \
420
+ src \
421
+ src/components \
422
+ src/filter \
423
+ src/i18n \
424
+ src/lib \
425
+ src/pages \
426
+ src/router \
427
+ src/stores \
428
+ src/templates \
429
+ src/webapi"
430
+ AC_SUBST ( [ WEBSRC_SUBDIRS] )
431
+
432
+ WEBSRC_SOURCE_FILES="\
433
+ public/android-chrome-512x512.png \
434
+ public/mstile-150x150.png \
435
+ public/browserconfig.xml \
436
+ public/site.webmanifest \
437
+ public/favicon.ico \
438
+ public/android-chrome-192x192.png \
439
+ public/safari-pinned-tab.svg \
440
+ public/apple-touch-icon.png \
441
+ public/favicon-16x16.png \
442
+ public/logo.svg \
443
+ public/favicon-32x32.png \
444
+ src/components/ModalDialogAddRss.vue \
445
+ src/components/ModalDialogPlaylistSpotify.vue \
446
+ src/components/ListPlaylistsSpotify.vue \
447
+ src/components/ListArtistsSpotify.vue \
448
+ src/components/ModalDialogComposer.vue \
449
+ src/components/ListArtists.vue \
450
+ src/components/ControlSlider.vue \
451
+ src/components/ModalDialogArtist.vue \
452
+ src/components/ListPlaylists.vue \
453
+ src/components/ModalDialogArtistSpotify.vue \
454
+ src/components/ModalDialogPlaylistSave.vue \
455
+ src/components/ModalDialogGenre.vue \
456
+ src/components/ModalDialogTrackSpotify.vue \
457
+ src/components/ListTracks.vue \
458
+ src/components/ListGenres.vue \
459
+ src/components/ModalDialogAlbumSpotify.vue \
460
+ src/components/TabsAudiobooks.vue \
461
+ src/components/IndexButtonList.vue \
462
+ src/components/TabsSettings.vue \
463
+ src/components/ModalDialogAddUrlStream.vue \
464
+ src/components/ModalDialogDirectory.vue \
465
+ src/components/ListComposers.vue \
466
+ src/components/CoverArtwork.vue \
467
+ src/components/NavbarItemOutput.vue \
468
+ src/components/ModalDialogAlbum.vue \
469
+ src/components/ControlDropdown.vue \
470
+ src/components/ModalDialogPlaylist.vue \
471
+ src/components/ListDirectories.vue \
472
+ src/components/ModalDialog.vue \
473
+ src/components/ListAlbums.vue \
474
+ src/components/ListAlbumsSpotify.vue \
475
+ src/components/ListItemQueueItem.vue \
476
+ src/components/ListTracksSpotify.vue \
477
+ src/components/LyricsPane.vue \
478
+ src/components/ModalDialogQueueItem.vue \
479
+ src/components/ModalDialogRemotePairing.vue \
480
+ src/components/ModalDialogTrack.vue \
481
+ src/components/ModalDialogUpdate.vue \
482
+ src/components/NavbarBottom.vue \
483
+ src/components/NavbarItemLink.vue \
484
+ src/components/NavbarTop.vue \
485
+ src/components/NotificationList.vue \
486
+ src/components/PlayerButtonConsume.vue \
487
+ src/components/PlayerButtonLyrics.vue \
488
+ src/components/PlayerButtonNext.vue \
489
+ src/components/PlayerButtonPlayPause.vue \
490
+ src/components/PlayerButtonPrevious.vue \
491
+ src/components/PlayerButtonRepeat.vue \
492
+ src/components/PlayerButtonSeekBack.vue \
493
+ src/components/PlayerButtonSeekForward.vue \
494
+ src/components/PlayerButtonShuffle.vue \
495
+ src/components/SettingsCheckbox.vue \
496
+ src/components/SettingsIntfield.vue \
497
+ src/components/SettingsTextfield.vue \
498
+ src/components/TabsMusic.vue \
499
+ src/components/TabsSearch.vue \
500
+ src/filter/index.js \
501
+ src/i18n/index.js \
502
+ src/i18n/de.json \
503
+ src/i18n/en.json \
504
+ src/i18n/fr.json \
505
+ src/i18n/zh-CN.json \
506
+ src/i18n/zh-TW.json \
507
+ src/lib/Audio.js \
508
+ src/lib/SVGRenderer.js \
509
+ src/lib/GroupedList.js \
510
+ src/pages/PageMusicRecentlyPlayed.vue \
511
+ src/pages/PageMusicSpotifyFeaturedPlaylists.vue \
512
+ src/pages/PageAudiobooksArtists.vue \
513
+ src/pages/PageAudiobooksGenres.vue \
514
+ src/pages/PageAlbum.vue \
515
+ src/pages/PageComposerAlbums.vue \
516
+ src/pages/PageMusicSpotify.vue \
517
+ src/pages/PagePlaylistTracks.vue \
518
+ src/pages/PagePodcast.vue \
519
+ src/pages/PageMusicSpotifyNewReleases.vue \
520
+ src/pages/PageRadioStreams.vue \
521
+ src/pages/PageAudiobooksAlbums.vue \
522
+ src/pages/PageComposers.vue \
523
+ src/pages/PageAudiobooksArtist.vue \
524
+ src/pages/PageGenres.vue \
525
+ src/pages/PageMusic.vue \
526
+ src/pages/PageGenreAlbums.vue \
527
+ src/pages/PageAbout.vue \
528
+ src/pages/PageAlbumSpotify.vue \
529
+ src/pages/PageAlbums.vue \
530
+ src/pages/PageArtist.vue \
531
+ src/pages/PageArtistSpotify.vue \
532
+ src/pages/PageArtistTracks.vue \
533
+ src/pages/PageArtists.vue \
534
+ src/pages/PageComposerTracks.vue \
535
+ src/pages/PageFiles.vue \
536
+ src/pages/PageGenreTracks.vue \
537
+ src/pages/PageMusicRecentlyAdded.vue \
538
+ src/pages/PagePlaylistFolder.vue \
539
+ src/pages/PagePlaylistTracksSpotify.vue \
540
+ src/pages/PagePodcasts.vue \
541
+ src/pages/PageQueue.vue \
542
+ src/pages/PageSearchLibrary.vue \
543
+ src/pages/PageSearchSpotify.vue \
544
+ src/pages/PageSettingsOnlineServices.vue \
545
+ src/pages/PageSettingsRemotesOutputs.vue \
546
+ src/pages/PageAudiobooksAlbum.vue \
547
+ src/pages/PageNowPlaying.vue \
548
+ src/pages/PageSettingsArtwork.vue \
549
+ src/pages/PageSettingsWebinterface.vue \
550
+ src/router/index.js \
551
+ src/stores/configuration.js \
552
+ src/stores/library.js \
553
+ src/stores/lyrics.js \
554
+ src/stores/notifications.js \
555
+ src/stores/outputs.js \
556
+ src/stores/player.js \
557
+ src/stores/queue.js \
558
+ src/stores/remotes.js \
559
+ src/stores/search.js \
560
+ src/stores/services.js \
561
+ src/stores/settings.js \
562
+ src/stores/ui.js \
563
+ src/templates/ContentWithHeading.vue \
564
+ src/templates/ContentWithHero.vue \
565
+ src/webapi/index.js \
566
+ src/App.vue \
567
+ src/icons.js \
568
+ src/main.js \
569
+ src/mystyles.scss \
570
+ .prettierrc.json \
571
+ eslint.config.js \
572
+ index.html \
573
+ jsconfig.json \
574
+ package-lock.json \
575
+ package.json \
576
+ vite.config.js"
577
+ AC_SUBST ( [ WEBSRC_SOURCE_FILES] )
578
+
579
+ AC_CONFIG_COMMANDS ( [ web-src] ,
580
+ [
581
+ if test "x$enable_webinterface" = "xyes"; then
582
+ websrc_builddir="$ac_abs_builddir/web-src"
583
+ websrc_srcdir="$ac_abs_srcdir/web-src"
584
+ if test "$websrc_srcdir" != "$websrc_builddir"; then
585
+ echo "web-src: out-of-tree build, copy web-src to build dir ($websrc_srcdir = $websrc_builddir)"
586
+ for dir in $dirs; do
587
+ mkdir -p "$websrc_builddir/$dir"
588
+ echo "web-src: created dir $websrc_builddir/$dir"
589
+ done
590
+ for file in $files; do
591
+ cp "$websrc_srcdir/$file" "$websrc_builddir/$file"
592
+ echo "web-src: copied $file from '$websrc_srcdir' to '$websrc_builddir'"
593
+ done
594
+ else
595
+ echo "web-src: in-tree build, nothing to prepare ($websrc_srcdir = $websrc_builddir)"
596
+ fi
597
+ fi
598
+ ] , [
599
+ dirs="$WEBSRC_SUBDIRS"
600
+ files="$WEBSRC_SOURCE_FILES"
601
+ enable_webinterface="$enable_webinterface"
602
+ ] )
603
+
604
+ HTDOCS_FILES="\
605
+ index.html \
606
+ android-chrome-192x192.png \
607
+ android-chrome-512x512.png \
608
+ apple-touch-icon.png \
609
+ browserconfig.xml \
610
+ favicon.ico \
611
+ favicon-16x16.png \
612
+ favicon-32x32.png \
613
+ mstile-150x150.png \
614
+ safari-pinned-tab.svg \
615
+ site.webmanifest \
616
+ assets/index.css \
617
+ assets/index.js"
618
+ AC_SUBST ( [ WEBSRC_BUILD_FILES] )
619
+
620
+ AC_CONFIG_COMMANDS ( [ htdocs] ,
621
+ [
622
+ if test "x$enable_webinterface" = "xyes"; then
623
+ websrc_builddir="$ac_abs_builddir/web-src/htdocs"
624
+ websrc_srcdir="$ac_abs_srcdir/web-src/htdocs"
625
+ if test "$websrc_srcdir" != "$websrc_builddir"; then
626
+ echo "htdocs: out-of-tree build, copy prebuilt htdocs to build dir ($websrc_srcdir = $websrc_builddir)"
627
+ if test -d "$websrc_srcdir/htdocs"; then
628
+ mkdir -p "$websrc_builddir"
629
+ mkdir -p "$websrc_builddir/assets"
630
+ for file in $files; do
631
+ cp "$websrc_srcdir/$file" "$websrc_builddir/$file"
632
+ echo "htdocs: copied $file from '$websrc_srcdir' to '$websrc_builddir'"
633
+ done
634
+ echo "htdocs: copied prebuilt htdocs from '$websrc_srcdir' to '$websrc_builddir'"
635
+ else
636
+ echo "htdocs: no prebuilt htdocs found, nothing to prepare"
637
+ fi
638
+ else
639
+ echo "htdocs: in-tree build, nothing to prepare ($websrc_srcdir = $websrc_builddir)"
640
+ fi
641
+ fi
642
+ ] , [
643
+ files="$HTDOCS_FILES"
644
+ enable_webinterface="$enable_webinterface"
645
+ ] )
646
+
417
647
AC_OUTPUT
0 commit comments