diff --git a/meson.build b/meson.build index a430b5c5..4ea3731c 100644 --- a/meson.build +++ b/meson.build @@ -142,10 +142,13 @@ conf_data.set('HAVE_SYS_TIME_H', 1) compiler = meson.get_compiler('c') +extracflags = [] +extracppflags = [] + if conf_data.get('CONFIG_ECMASCRIPT') - extracflags = ['-xc++', '-fpermissive', '-Wno-sign-compare', '-std=gnu++17'] + extracppflags += ['-fpermissive', '-Wno-sign-compare', '-std=gnu++17'] else - extracflags = ['-Wc++-compat'] + extracflags += ['-Wc++-compat'] endif if compiler.has_header('wchar.h') diff --git a/src/cache/Makefile b/src/cache/Makefile index bd813e19..10e11b29 100644 --- a/src/cache/Makefile +++ b/src/cache/Makefile @@ -1,6 +1,6 @@ top_builddir=../.. include $(top_builddir)/Makefile.config -OBJS = cache.o dialogs.o +OBJS = cache.obj dialogs.o include $(top_srcdir)/Makefile.lib diff --git a/src/cache/cache.c b/src/cache/cache.cpp similarity index 100% rename from src/cache/cache.c rename to src/cache/cache.cpp diff --git a/src/cache/meson.build b/src/cache/meson.build index 4da62631..16268ae3 100644 --- a/src/cache/meson.build +++ b/src/cache/meson.build @@ -1 +1 @@ -srcs += files('cache.c', 'dialogs.c') +srcs += files('cache.cpp', 'dialogs.c') diff --git a/src/dialogs/Makefile b/src/dialogs/Makefile index d82b7467..00eabeb7 100644 --- a/src/dialogs/Makefile +++ b/src/dialogs/Makefile @@ -3,6 +3,6 @@ include $(top_builddir)/Makefile.config OBJS-$(CONFIG_EXMODE) += exmode.o -OBJS = document.o download.o edit.o info.o menu.o options.o progress.o status.o +OBJS = document.o download.o edit.o info.obj menu.o options.o progress.o status.o include $(top_srcdir)/Makefile.lib diff --git a/src/dialogs/info.c b/src/dialogs/info.cpp similarity index 100% rename from src/dialogs/info.c rename to src/dialogs/info.cpp diff --git a/src/dialogs/meson.build b/src/dialogs/meson.build index 59ff3e3f..a2cdf393 100644 --- a/src/dialogs/meson.build +++ b/src/dialogs/meson.build @@ -1,4 +1,4 @@ if conf_data.get('CONFIG_EXMODE') srcs += files('exmode.c') endif -srcs += files('document.c', 'download.c', 'edit.c', 'info.c', 'menu.c', 'options.c', 'progress.c', 'status.c') +srcs += files('document.c', 'download.c', 'edit.c', 'info.cpp', 'menu.c', 'options.c', 'progress.c', 'status.c') diff --git a/src/document/Makefile b/src/document/Makefile index 9945341d..da455fb6 100644 --- a/src/document/Makefile +++ b/src/document/Makefile @@ -7,6 +7,6 @@ SUBDIRS-$(CONFIG_XML) += xml SUBDIRS = gemini html plain -OBJS = docdata.o document.o format.o forms.o options.o refresh.o renderer.o +OBJS = docdata.o document.obj format.o forms.o options.o refresh.o renderer.obj include $(top_srcdir)/Makefile.lib diff --git a/src/document/document.c b/src/document/document.cpp similarity index 100% rename from src/document/document.c rename to src/document/document.cpp diff --git a/src/document/meson.build b/src/document/meson.build index cd3d0397..4527546f 100644 --- a/src/document/meson.build +++ b/src/document/meson.build @@ -10,4 +10,4 @@ subdir('plain') if conf_data.get('CONFIG_XML') subdir('xml') endif -srcs += files('docdata.c', 'document.c', 'format.c', 'forms.c', 'options.c', 'refresh.c', 'renderer.c') +srcs += files('docdata.c', 'document.cpp', 'format.c', 'forms.c', 'options.c', 'refresh.c', 'renderer.cpp') diff --git a/src/document/renderer.c b/src/document/renderer.cpp similarity index 100% rename from src/document/renderer.c rename to src/document/renderer.cpp diff --git a/src/main/Makefile b/src/main/Makefile index c5d19a34..db2b4f8d 100644 --- a/src/main/Makefile +++ b/src/main/Makefile @@ -3,6 +3,6 @@ include $(top_builddir)/Makefile.config OBJS-$(CONFIG_INTERLINK) += interlink.o -OBJS = event.o main.o module.o select.o timer.o version.o +OBJS = event.o main.o module.obj select.o timer.obj version.o include $(top_srcdir)/Makefile.lib diff --git a/src/main/meson.build b/src/main/meson.build index 4c5e8bee..a6b54bbe 100644 --- a/src/main/meson.build +++ b/src/main/meson.build @@ -1,4 +1,4 @@ if conf_data.get('CONFIG_INTERLINK') srcs += files('interlink.c') endif -srcs += files('event.c', 'main.c', 'module.c', 'select.c', 'timer.c', 'version.c') +srcs += files('event.c', 'main.c', 'module.cpp', 'select.c', 'timer.cpp', 'version.c') diff --git a/src/main/module.c b/src/main/module.cpp similarity index 100% rename from src/main/module.c rename to src/main/module.cpp diff --git a/src/main/timer.c b/src/main/timer.cpp similarity index 100% rename from src/main/timer.c rename to src/main/timer.cpp diff --git a/src/meson.build b/src/meson.build index 730db16c..6b995ce1 100644 --- a/src/meson.build +++ b/src/meson.build @@ -49,11 +49,14 @@ endif extra_args += extracflags +extra_cpp_args = extra_args +extra_cpp_args += extracppflags + elinks = executable( 'elinks', srcs, include_directories: incs, dependencies: deps, c_args: extra_args, - cpp_args: extra_args, + cpp_args: extra_cpp_args, install: true ) diff --git a/src/protocol/Makefile b/src/protocol/Makefile index dd6dd66c..90deb917 100644 --- a/src/protocol/Makefile +++ b/src/protocol/Makefile @@ -15,6 +15,6 @@ SUBDIRS = auth file http test OBJS-$(CONFIG_DATA) += data.o -OBJS = about.o common.o date.o header.o protocol.o proxy.o uri.o user.o +OBJS = about.o common.o date.o header.o protocol.obj proxy.o uri.o user.o include $(top_srcdir)/Makefile.lib diff --git a/src/protocol/meson.build b/src/protocol/meson.build index 57c75e2b..5060de51 100644 --- a/src/protocol/meson.build +++ b/src/protocol/meson.build @@ -32,4 +32,4 @@ subdir('http') if conf_data.get('CONFIG_DATA') srcs += files('data.c') endif -srcs += files('about.c', 'common.c', 'date.c', 'header.c', 'protocol.c', 'proxy.c', 'uri.c', 'user.c') +srcs += files('about.c', 'common.c', 'date.c', 'header.c', 'protocol.cpp', 'proxy.c', 'uri.c', 'user.c') diff --git a/src/protocol/protocol.c b/src/protocol/protocol.cpp similarity index 100% rename from src/protocol/protocol.c rename to src/protocol/protocol.cpp diff --git a/src/session/Makefile b/src/session/Makefile index e57a987a..c9c0fa0c 100644 --- a/src/session/Makefile +++ b/src/session/Makefile @@ -1,6 +1,6 @@ top_builddir=../.. include $(top_builddir)/Makefile.config -OBJS = download.o history.o location.o session.o task.o +OBJS = download.o history.o location.o session.obj task.o include $(top_srcdir)/Makefile.lib diff --git a/src/session/meson.build b/src/session/meson.build index 30b97669..c4069ec7 100644 --- a/src/session/meson.build +++ b/src/session/meson.build @@ -1 +1 @@ -srcs += files('download.c', 'history.c', 'location.c', 'session.c', 'task.c') +srcs += files('download.c', 'history.c', 'location.c', 'session.cpp', 'task.c') diff --git a/src/session/session.c b/src/session/session.cpp similarity index 100% rename from src/session/session.c rename to src/session/session.cpp diff --git a/src/terminal/Makefile b/src/terminal/Makefile index a833776a..32c64e75 100644 --- a/src/terminal/Makefile +++ b/src/terminal/Makefile @@ -12,7 +12,7 @@ OBJS = \ kbd.o \ screen.o \ tab.o \ - terminal.o \ + terminal.obj \ window.o include $(top_srcdir)/Makefile.lib diff --git a/src/terminal/meson.build b/src/terminal/meson.build index 093d751d..f4dab617 100644 --- a/src/terminal/meson.build +++ b/src/terminal/meson.build @@ -4,4 +4,4 @@ endif if conf_data.get('CONFIG_TERMINFO') srcs += files('terminfo.c') endif -srcs += files('color.c', 'draw.c', 'event.c', 'hardio.c', 'kbd.c', 'screen.c', 'tab.c', 'terminal.c', 'window.c') +srcs += files('color.c', 'draw.c', 'event.c', 'hardio.c', 'kbd.c', 'screen.c', 'tab.c', 'terminal.cpp', 'window.c') diff --git a/src/terminal/terminal.c b/src/terminal/terminal.cpp similarity index 100% rename from src/terminal/terminal.c rename to src/terminal/terminal.cpp diff --git a/src/viewer/Makefile b/src/viewer/Makefile index 6acdb3ff..da9e79f5 100644 --- a/src/viewer/Makefile +++ b/src/viewer/Makefile @@ -2,6 +2,6 @@ top_builddir=../.. include $(top_builddir)/Makefile.config SUBDIRS = dump text -OBJS = action.o timer.o viewer.o +OBJS = action.obj timer.o viewer.o include $(top_srcdir)/Makefile.lib diff --git a/src/viewer/action.c b/src/viewer/action.cpp similarity index 100% rename from src/viewer/action.c rename to src/viewer/action.cpp diff --git a/src/viewer/meson.build b/src/viewer/meson.build index c74665a5..4463a385 100644 --- a/src/viewer/meson.build +++ b/src/viewer/meson.build @@ -1,3 +1,3 @@ subdir('dump') subdir('text') -srcs += files('action.c', 'timer.c', 'viewer.c') +srcs += files('action.cpp', 'timer.c', 'viewer.c') diff --git a/src/viewer/text/Makefile b/src/viewer/text/Makefile index 3ed42624..f1f84b65 100644 --- a/src/viewer/text/Makefile +++ b/src/viewer/text/Makefile @@ -5,6 +5,6 @@ INCLUDES += $(TRE_CFLAGS) OBJS-$(CONFIG_MARKS) += marks.o -OBJS = draw.o form.o link.o search.o textarea.o view.o vs.o +OBJS = draw.o form.obj link.obj search.o textarea.o view.o vs.obj include $(top_srcdir)/Makefile.lib diff --git a/src/viewer/text/form.c b/src/viewer/text/form.cpp similarity index 100% rename from src/viewer/text/form.c rename to src/viewer/text/form.cpp diff --git a/src/viewer/text/link.c b/src/viewer/text/link.cpp similarity index 100% rename from src/viewer/text/link.c rename to src/viewer/text/link.cpp diff --git a/src/viewer/text/meson.build b/src/viewer/text/meson.build index effeb0c8..656300cb 100644 --- a/src/viewer/text/meson.build +++ b/src/viewer/text/meson.build @@ -4,4 +4,4 @@ if conf_data.get('CONFIG_MARKS') srcs += files('marks.c') endif -srcs += files('draw.c', 'form.c', 'link.c', 'search.c', 'textarea.c', 'view.c', 'vs.c') +srcs += files('draw.c', 'form.cpp', 'link.cpp', 'search.c', 'textarea.c', 'view.c', 'vs.cpp') diff --git a/src/viewer/text/vs.c b/src/viewer/text/vs.cpp similarity index 100% rename from src/viewer/text/vs.c rename to src/viewer/text/vs.cpp