US President Donald Trump vetoed a broad defence funding bill sent to him by Congress Wednesday, complaining that it helps Russia and China and objecting to provisions to rename military bases.